• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    集合类List与Dictonary实例练习
    a、List>泛型集合
    复制代码 代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    namespace _02_泛型集合 {
    class Person {
    public Person(string name, int age) {
    this .name = name;
    this .age = age;
    }
    private string name;
    public string Name {
    get {
    return name;
    }
    set {
    name = value ;
    }
    }
    private int age;
    public int Age {
    get {
    return age;
    }
    set {
    age = value ;
    }
    }
    }
    class Student : Person {
    public Student(string name, int age)
    : base (name, age) {
    }
    }
    class Teacher : Person {
    public Teacher(string name, int age)
    : base (name, age) {
    }
    }
    class Program {
    static void Main( string[] args) {
    Student xyy = new Student( "小月月" , 12);
    Student fj = new Student( "凤姐" , 14);
    Student fr = new Student( "芙蓉姐姐" , 16);
    Student xl = new Student( "犀利哥" , 18);
    List Student > student = new List Student >();
    student.Add(xyy);
    student.Add(fj);
    student.Add(fr);
    student.Add(xl);
    Teacher tea = new Teacher( "wanghao" , 21);
    //student.Add(tea);//因为ListStudent> 限制类型必须为Student 所以不能添加Teacher对象
    //比ArrayList更加限制存储的类型 而且效率要高 因为添加 取出对象是不会发生装箱 拆箱的操作的
    //遍历
    foreach (Student item in student) {
    Console .WriteLine(item.Name);//因为返回的就是student对象 所以可以直接读取属性值
    Console .WriteLine(item.Age);
    }
    //移除
    student.Remove(xyy); //移除的是引用地址 所以下面移除的s不是xyy
    Student s = new Student( "小月月" , 12);
    student.Remove(s);
    student.RemoveAt(0);
    student.RemoveRange(0, 2); //从0索引移除后面两位 即前移除前两位学生 xyy fj
    //student.RemoveAll();//移除所有满足条件的 详见帮助文档
    student.Clear();
    Console .WriteLine(student.Contains(xyy));
    //ToArray()方法 转换学生类型数组
    Student [] stu = student.ToArray();
    foreach (Student item in stu) {
    Console .WriteLine(item.Name);
    }
    Console .Read();
    }
    }
    }

    b、Dictonary>字典
    复制代码 代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    namespace _03_泛型集合 {
    class Student {
    public Student(string name, int age) {
    this .name = name;
    this .age = age;
    }
    private string name;
    public string Name {
    get {
    return name;
    }
    set {
    name = value ;
    }
    }
    private int age;
    public int Age {
    get {
    return age;
    }
    set {
    age = value ;
    }
    }
    }
    class Program {
    static void Main( string[] args) {
    Student xyy = new Student( "小月月" , 12);
    Student fj = new Student( "凤姐" , 14);
    Student fr = new Student( "芙蓉姐姐" , 16);
    Student xl = new Student( "犀利哥" , 18);
    Dictionary string , Student> student = new Dictionary string, Student >();//key为string类型的name value为Student对象
    student.Add( "小月月" , xyy);
    student.Add( "凤姐" , fj);
    student.Add( "芙蓉姐姐" , fr);
    student.Add( "犀利哥" , xl);
    Console .WriteLine(student["犀利哥" ].Name); //根据key获取value
    //遍历 通过key
    foreach (string item in student.Keys) {
    Console .WriteLine(item);
    Console .WriteLine(student[item].Age);
    }
    //遍历 通过value
    foreach (Student item in student.Values) {
    Console .WriteLine(item.Age);
    }
    //遍历键值对
    foreach (KeyValuePair string, Student > item in student) {
    Console .WriteLine(item.Key);
    Console .WriteLine(item.Value.Age);//item.Value是Student对象 直接使用
    }
    //移除
    //student.Remove("小月月");
    //student.Clear();
    student.ContainsKey( "小月月" ); //是否包含该key
    //更多参见帮助文档
    Console .Read();
    }
    }
    }

    c、泛型集合练习
    复制代码 代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    namespace _04__泛型练习 {
    class Program {
    static void Main( string[] args) {
    //把分拣奇偶数的程序用泛型实现
    string str = "7 4 3 2 9 8 33 22" ;
    string [] strs = str.Split(' ' );
    strs = Getevent(strs).ToArray();
    string res = string .Join( " ", strs); //string数组 直接用join就好了
    Console .WriteLine(res);
    //将int数组中的奇数放到一个新的int数组中返回
    int [] intarr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    List int > list = new List int >();
    foreach (int item in intarr) {
    if (item % 2 != 0) {
    list.Add(item);
    }
    }
    intarr = list.ToArray();
    foreach (int item in intarr) {
    Console .WriteLine(item);
    }
    //从一个整数的Listint>中取出最大数。不使用自身带的Max()方法。
    List int > list2 = new List int > { 1, 2, 3, 4, 5, 6, 7, 8 };
    int max = list2[0];
    foreach (int item in list2) {
    if (item > max) {
    max = item;
    }
    }
    Console .WriteLine("泛型集合最大值为{0}" , max);
    Console .ReadKey();
    }
    public static List string > Getevent(string [] str) {
    List string > list = new List string >();
    List string > list2 = new List string >();
    foreach (string item in str) {
    if (int .Parse(item) % 2 != 0) {
    list.Add(item);
    } else {
    list2.Add(item);
    }
    }
    list.AddRange(list2);
    return list;
    }
    }
    }

    d、泛型集合练习2
    复制代码 代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    namespace _06_泛型集合练习 {
    class Program {
    static void Main( string[] args) {
    //把1,2,3转换为壹贰叁
    string str = "1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖 0零" ;
    Dictionary char , char> money = new Dictionary char, char >();
    string [] strs = str.Split(' ' );
    string s = "123456789" ;
    string news = "" ;
    for (int i = 0; i strs.Length; i++) {
    money.Add(strs[i][0], strs[i][1]);
    }
    foreach (char item in s) {
    news += money[item];
    }
    Console .WriteLine(news);
    char n = '1' ;
    Console .WriteLine(n + ' ' ); //结果显示为81 char字符相加是把其Asic码相加的
    Console .WriteLine(n + 2);//结果显示为51
    //如果想实现字符串相加就把任一个参数改变为tostring输出
    Console .WriteLine(n.ToString() + 2);//显示为12
    //计算字符串中每种字符出现的次数(面试题)。“Welcome to Chinaworld”,不区分大小写,打印“W 2” “e 2” “o 3”……
    string str2 = "Welcome to Chinaworld" ;
    Dictionary char , int> num = new Dictionary char, int >();
    foreach (char item in str2.ToLower().Replace( " " , "" )) {
    if (num.ContainsKey(item)) {
    num[item]++;
    } else {
    num.Add(item, 1);
    }
    }
    foreach (var key in num.Keys) {
    Console .WriteLine("\"{0}{1}\"" , key, num[key]);
    }
    //编写一个函数进行日期转换,将输入的中文日期转换为阿拉伯数字日期,比如:二零一二年十二月月二十一日要转换为2012-12-21。
    string date = "二零一二年十二月二十一日" ; //date2的转换 需要考虑十左右字符是否都在字典中 在则为 则十消失 如果左边不在右边在则变1 如果左边在右边不在则变0 如果左右都不在则变10 还是蛮复杂的
    //string date = "二零一二年二月二一日";
    string strNumb = "一1 二2 三3 四4 五5 六6 七7 八8 九9 零0" ;
    string [] strNumbs = strNumb.Split(' ' );
    string nullYear = "" ;
    Dictionary char , char> years = new Dictionary char, char >();
    for (int i = 0; i strNumbs.Length; i++) {
    years.Add(strNumbs[i][0], strNumbs[i][1]);
    }
    //years.Add('年', '-');
    //years.Add('月', '-');
    for (int i = 0; i date.Length; i++) {
    if (years.ContainsKey(date[i])) {
    nullYear += years[date[i]];
    } else if (date[i] == '年' || date[i] == '月' ) {
    nullYear += '-' ;
    } else if (date[i] == '十' years.ContainsKey(date[i + 1]) !years.ContainsKey(date[i - 1])) {
    nullYear += '1' ;
    } else if (date[i] == '十' !years.ContainsKey(date[i + 1]) years.ContainsKey(date[i - 1])) {
    nullYear += '0' ;
    } else if (date[i] == '十' !years.ContainsKey(date[i + 1]) !years.ContainsKey(date[i - 1])) {
    nullYear += "10" ;
    }
    }
    Console .WriteLine(nullYear);
    Console .ReadKey();
    }
    }
    }

    e、泛型集合练习2中日期转换提取为方法
    复制代码 代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    namespace _07_日期Change {
    class Program {
    static string str = "一1 二2 三3 四4 五5 六6 七7 八8 九9 零0" ;
    static string [] strs = str.Split( ' ');
    static Dictionary char, char > money = new Dictionary char , char >();
    static void Main( string[] args) {
    for (int i = 0; i strs.Length; i++) {
    money.Add(strs[i][0], strs[i][1]);
    }
    //string date = "二零一二年二月二一日";
    string date = "二零一二年二十月二十一日" ;
    date = newstr(date);
    string nullYear = "" ;
    //money.Add('年', '-');
    //money.Add('月', '-');
    for (int i = 0; i date.Length; i++) {
    if (money.ContainsKey(date[i])) {
    nullYear += money[date[i]];
    } else if (date[i] == '年' || date[i] == '月' ) {
    nullYear += '-' ;
    }
    }
    Console .WriteLine(nullYear);
    Console .WriteLine(date);//二零一二年一二月二一日
    Console .ReadKey();
    }
    //十左右字符都在字典中 那么十消失 如果左边不在右边在则变1 如果左边在右边不在则变0 如果左右都不在则变10
    public static string newstr( string str) {
    string newstr = "" ;
    for (int i = 0; i str.Length; i++) {
    if (str[i] == '十' ) {
    bool left = money.ContainsKey(str[i - 1]);
    bool right = money.ContainsKey(str[i + 1]);
    if (left right) {
    newstr += "" ;
    } else if (right) { //!left
    newstr += "一" ;
    } else if (left) { // !right
    newstr += "零" ;
    } else {//if (!left !right)
    newstr += "一零" ;
    }
    } else {
    newstr += str[i];
    }
    }
    return newstr;
    }
    }
    }

    f、泛型集合练习之翻译软件
    复制代码 代码如下:

    View Code
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace _05_翻译软件 {
    public partial class Form1 : Form {
    public Form1() {
    InitializeComponent();
    }
    Dictionary string , string> dic = new Dictionary string, string >();
    private void btnChange_Click( object sender, EventArgs e) {
    if (dic.ContainsKey(txtEnglish.Text)) {
    txtChina.Text = dic[txtEnglish.Text];
    } else {
    MessageBox .Show("请购买新的字典" );
    }
    }
    private void Form1_Load( object sender, EventArgs e) {
    string [] filecon = File .ReadAllLines( "英汉词典TXT格式.txt" , Encoding .Default);//格式遵循abandon v.抛弃,放弃
    for (int i = 0; i filecon.Count(); i++) {
    string [] arr = filecon[i].Split(new char[] { ' ' }, StringSplitOptions .RemoveEmptyEntries);
    if (!dic.ContainsKey(arr[0])) {
    dic.Add(arr[0], arr[1]);
    }
    }
    }
    }
    }

    您可能感兴趣的文章:
    • Java中的collection集合类型总结
    • js正则函数match、exec、test、search、replace、split使用介绍集合
    • SQL集合函数中case when then 使用技巧
    • 使用Enumeration和Iterator遍历集合类详解
    • Python中集合类型(set)学习小结
    • Python set集合类型操作总结
    • C#中DataSet转化为实体集合类的方法
    • 集合类Array List HashTable实例操作练习
    • Swift教程之集合类型详解
    • C++简单集合类的实现方法
    上一篇:HttpRequest Get和Post调用其他页面的方法
    下一篇:集合类Array List HashTable实例操作练习
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    集合类List与Dictonary实例练习 集合,类,List,与,Dictonary,