c#基础5
来源:互联网 发布:淘宝桔子表行靠谱不 编辑:程序博客网 时间:2024/05/31 19:29
知识点:1. 集合的使用 2.静态和非静态的区别 3.结构和类的区别
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(); } }}
0 0
- 【c#基础5】委托
- c#基础5
- c#基础5
- c#语言基础(5)----委托
- c#基础
- c#基础
- C#基础
- C#基础
- C#基础
- C#基础
- C#基础
- c# 基础
- c#基础
- C# 基础
- C#基础
- C#基础
- C#基础
- c#基础
- 1232 - SKYLINE
- iOS runtime攻击-cycript
- Linux Shell编程case语句
- UIscrollView的用法和代理的使用
- android 动态添加ImageView 设置setPadding不起作用问
- c#基础5
- 代理(超级能理解的自己的方式)
- java生成随机数
- Java总结2
- hdu 1874 畅通工程续(最短路spfa邻接矩阵)
- 1.5 使用Sqoop从HDFS导出数据到MySQL
- ReAct 入门常用语法
- request.getRequestURL() getRequestURI区别
- activity之间切换动画不起作用