c#基础5

知识点:集合的联系  静态非静态的区别  结构和类的区别

namespace 集合的联系
{
    class Program
    {
        static void Main(string[] args)
        {
            //静态 static  静态成员用类名调用  非静态通过对象调用
            //静态类中只能为静态成员  非静态类中两者都可以声明
            //非静态方法两种成员都可以使用  静态方法只可以访问静态成员 
            //静态调用前初始化(构造函数) 非静态生成对象时初始化
            //静态类中不能有实例构造函数 静态类中的构造函数在调用前就被实现了
            //非静态类中的构造函数创建对象时调用  静态类中构造函数只执行一次

            //结构:值类型  栈上  struct(字段 属性 ) 结构中也可以写入静态及非静态方法  
            //结构中的构造函数只能给字段赋值不可以给属性赋值  
            //在结构的构造函数中,必须给全体字段赋值,不能选择性的赋值
            //结构也可以使用new关键字 结构的new在栈中开空间 调用结构的构造函数
            //在类中,构造函数可以给字段赋值 也可以给属性赋值 构造函数可以重载
            //结构和类的构造函数都默认有一个无参的
            //类中新的构造函数会取代默认无参的构造函数
            //结构中新的构造函数不会取代默认无参的构造函数
            //类:应用类型  堆上  class(字段 属性 方法  构造函数)
            //结构中的静态成员或方法也使用结构体名调用
            #region 练习1
            //分拣奇、偶数
            //int[] nums = {1,2,3,4,5,6,7,8,9 };
            //List<int> list1 = new List<int>();
            //List<int> list2 = new List<int>();
            //for (int i = 0; i < nums.Length; i++)
            //{
            //    if (nums[i] % 2 == 0)
            //    {
            //        list2.Add(nums[i]);
            //    }
            //    else
            //   {
            //        list1.Add(nums[i]);
            //    }
            //  }

            // list1.AddRange(list2);
            // foreach (var item in list1)
            // {
            //     Console.WriteLine(item);
            // }
            #endregion
            //集合转换成数组 list.toArray();
            #region 练习2
            从集合中找出最大数
            //List<int> list = new List<int>() { 1,2,3,4,5,6,7,8,9};//集合初始化器
            //int max = list[0];
            //for (int i = 0; i < list.Count; i++)
            //{
            //    if(list[i]>max)
            //    {
            //        max = list[i];
            //        }
            //}
            //Console.WriteLine(max);
            #endregion

            #region 练习3
            计算字符串中每个字符出现的次数
            //string s = "welcome to china republic";
            //Dictionary<char, int> dic = new Dictionary<char, int>();
            遍历s
            //for (int i = 0; i < s.Length; i++)
            //{
            //      if(s[i]==" ")
            //{
            //    continue;
            //}
            //    if (dic.ContainsKey(s[i]))
            //    {
            //        dic[s[i]]++;
            //    }
            //    else
            //    {
            //        dic[s[i]] = 1;
            //    }
            //}
            //foreach (KeyValuePair<char,int> kv in dic)
            //{
            //    Console.WriteLine("{0}-----{1}",kv.Key,kv.Value);
            //}
            #endregion

            #region 练习4
            //两个集合合并,去除重复的
            //List<string> list1 = new List<string>() {"a","b","c","d","e" };
            //List<string> list2 = new List<string>() { "d", "e", "f", "g", "h" };
            //for (int i = 0; i < list2.Count; i++)
            //{
            //    if (!list1.Contains(list2[i])) {
            //        list1.Add(list2[i]);
            //    }
            //}

            //foreach (var item in list1)
            //{
            //    Console.WriteLine(item);
            //}
            #endregion

            #region 练习5
            //
            string str = "1一 2二 3三 4四 5五 6六 7七 8八 9九";
            Dictionary<char, char> dic = new Dictionary<char, char>();
            string[] strNew= str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < strNew.Length; i++)
            {
                dic.Add(strNew[i][0],strNew[i][1]);
            }
            Console.WriteLine("请输入数字");
            string input = Console.ReadLine();
            for (int i = 0; i <input.Length; i++)
            {
                if (dic.ContainsKey(input[i]))
                {
                    Console.Write(dic[input[i]]);
                }
                else
                {
                    Console.Write(input[i]);
                }
            }
            #endregion
            Console.ReadKey();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值