找回密码
 立即注册
网站/小程序/APP/浏览器插件/桌面软件/脚本 定制开发·运营维护·故障修复·技术咨询
查看: 1854|回复: 0

电脑绝技教你22天学精Csharp之第二十天基础加强总复习 补充5

[复制链接]
发表于 2019-7-28 19:58:10 | 显示全部楼层 |阅读模式
16、集合复习

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Collections;

namespace _16_集合复习

{

class Program

{

static void Main(string[] args)

{

// ArrayList list = new ArrayList();

//// list.Add()

// Hashtable ht = new Hashtable();

// //ht.Add()

// List list = new List();

//list.Add(); 添加单个元素

//list.AddRange();添加集合

//list.Insert();插入

//list.InsertRange();插入集合

//list.Remove();移除

//list.RemoveAt();根据下标移除

//list.RemoveRange();移除一定范围的元素

//list.Contains();//判断是否包含

// list.RemoveAll()

//Dictionary dic = new Dictionary();

//dic.Add(1,"张三");

//dic.Add(2,"李四");

//dic.Add(3, "颜世伟");

//dic.Add(4, "杀马特");

//dic[4] = "还是杀马特";

//foreach (KeyValuePair kv in dic)

//{

// Console.WriteLine("{0}---{1}",kv.Key,kv.Value);

//}

//Console.ReadKey();

//dic.ContainsKey();

}

}

}

17集合练习

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _17集合练习

{

class Program

{

static void Main(string[] args)

{

#region 集合练习1

//案例:把分拣奇偶数的程序用泛型实现。int[] nums={1,2,3,4,5,6,7,8,9};奇数在左边 偶数在右边

//int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

//List listJi = new List();

//List listOu = new List();

//for (int i = 0; i < nums.Length; i++)

//{

// if (nums % 2 == 0)

// {

// listOu.Add(nums);

// }

// else

// {

// listJi.Add(nums);

// }

//}

//listJi.AddRange(listOu);

//foreach (var item in listJi)

//{

// Console.WriteLine(item);

//}

//Console.ReadKey();

#endregion

#region 集合练习2

//练习1:将int数组中的奇数放到一个新的int数组中返回。

//将数组中的奇数取出来放到一个集合中,最终将集合转换成数组 。

//int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

//List listJi = new List();

//for (int i = 0; i < nums.Length; i++)

//{

// if (nums % 2 != 0)

// {

// listJi.Add(nums);

// }

//}

////集合转换成数组

//int[] numsNew = listJi.ToArray();

//foreach (var item in numsNew)

//{

// Console.WriteLine(item);

//}

//Console.ReadKey();

#endregion

#region 集合练习3

//练习2:从一个整数的List中取出最大数(找最大值)。

//集合初始化器

//List list = new List { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

//int max = list[0];

//for (int i = 0; i < list.Count; i++)

//{

// if (list > max)

// {

// max = list;

// }

//}

//Console.WriteLine(max);

//Console.ReadKey();

////foreach (var item in list)

////{

//// Console.WriteLine(item);

////}

//Console.ReadKey();

// list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });

//Person p = new Person("李四", 16, '女') { Name = "张三", Age = 19, Gender = '男' };

//p.SayHello();

//Console.ReadKey();

#endregion

#region 集合练习4

//练习:把123转换为:壹贰叁。Dictionary

//"1一 2二 3三 4四 5五 6六 7七 8八 9九"

//string str = "1一 2二 3三 4四 5五 6六 7七 8八 9九";

////123 一二三

//Dictionary dic = new Dictionary();

//string[] strNew = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

//for (int i = 0; i < strNew.Length; i++)

//{

// //1一 strNew[0] strNew[1]

// dic.Add(strNew[0], strNew[1]);

//}

//Console.WriteLine("请输入阿拉伯数字");

//string input = Console.ReadLine();

//for (int i = 0; i < input.Length; i++)

//{

// if (dic.ContainsKey(input))

// {

// Console.Write(dic[input]);

// }

// else

// {

// Console.Write(input);

// }

//}

//Console.ReadKey();

#endregion

#region 集合练习5

////练习:计算字符串中每种字符出现的次数(面试题)。 “Welcome to Chinaworld”,不区分大小写,打印“W2”“e 2”“o 3”……

//string s = "Welcome to Chinaworld";

//Dictionary dic = new Dictionary();

////遍历 s

//for (int i = 0; i < s.Length; i++)

//{

// if (s == ' ')

// {

// continue;

// }

// if (dic.ContainsKey(s))

// {

// dic[s]++;

// }

// else

// {

// dic[s] = 1;

// }

//}

//foreach (KeyValuePair kv in dic)

//{

// Console.WriteLine("字母{0}出现了{1}次",kv.Key,kv.Value);

//}

//Console.ReadKey();

#endregion

#region 集合练习5

//案例:两个(List)集合{ “a”,“b”,“c”,“d”,“e”}和{ “d”, “e”, “f”, “g”, “h” },把这两个集合去除重复项合并成一个。

//List listOne = new List() { "a", "b", "c", "d", "e" };

//List listTwo = new List() { "d", "e", "f", "g", "h" };

//for (int i = 0; i < listTwo.Count; i++)

//{

// if (!listOne.Contains(listTwo))

// {

// listOne.Add(listTwo);

// }

//}

//foreach (var item in listOne)

//{

// Console.WriteLine(item);

//}

//Console.ReadKey();

#endregion

}

}

public class Person

{

public Person(string name, int age, char gender)

{

this.Name = name;

this.Age = age;

this.Gender = gender;

}

public string Name

{

get;

set;

}

public char Gender

{

get;

set;

}

public int Age

{

get;

set;

}

public void SayHello()

{

Console.WriteLine("{0}---{1}---{2}", this.Name, this.Age, this.Gender);

}

}

}

18、静态和非静态的区别

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _18_静态和非静态的区别

{

class Program

{

static void Main(string[] args)

{

Student.Test();

Student.Test();

Student.Test();

Console.ReadKey();

}

}

public class Person

{

private static string _name;

private int _age;

public void M1()

{

}

public static void M2()

{

}

public Person()

{

Console.WriteLine("非静态类构造函数");

}

}

public static class Student

{

static Student()

{

Console.WriteLine("静态类构造函数");

}

public static void Test()

{

Console.WriteLine("我是静态类中的静态方法");

}

// private string _name;

}

}

19、结构和类的区别

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _19_结构和类的区别

{

class Program

{

static void Main(string[] args)

{

//类型

//结构:值类型

//类:引用类型

//声明的语法:class struct

//在类中,构造函数里,既可以给字段赋值,也可以给属性赋值。构造函数是可以重载的

//但是,在结构的构造函数当中,必须只能给字段赋值。

//在结构的构造函数当中,我们需要给全部的字段赋值,而不能去选择的给字段赋值

//调用:

PersonClass pc = new PersonClass();

//结构是否可以New?

//在栈开辟空间 结构new 调用结构的构造函数

PersonStruct ps = new PersonStruct();

ps.M2();

PersonStruct.M1();

Console.ReadKey();

//结构和类的构造函数:

//相同点:不管是结构还是类,本身都会有一个默认的无参数的构造函数

//不同点:当你在类中写了一个新的构造函数之后,那个默认的无参数的构造函数都被干掉了

//但是,在结构当中,如果你写了一个新的构造函数,那么个默认的无参数的构造函数依然在。

//

//如果我们只是单纯的存储数据的话,我们推荐使用结构。

//如果我们想要使用面向对象的思想来开发程序,我们推荐使用我们的Class

//结构并不具备面向对象的特征

// int

}

}

public class PersonClass

{

//字段、属性、方法、构造函数

}

public struct PersonStruct

{

//字段、属性

private string _name;

public string Name

{

get { return _name; }

set { _name = value; }

}

private int _age;

public int Age

{

get { return _age; }

set { _age = value; }

}

private char _gender;

public char Gender

{

get { return _gender; }

set { _gender = value; }

}

public static void M1()

{

Console.WriteLine("我是结构中的静态方法");

}

public void M2()

{

Console.WriteLine("我是结构的非静态方法");

}

public PersonStruct(string name, int age, char gender)

{

//this.Name = name;

//this.Age = age;

//this.Gender = gender;

this._name = name;

this._age = age;

this._gender = gender;

}

//public PersonStruct(string name)

//{

// this._name = name;

//}

}

}


电脑绝技教你22天学精Csharp之第二十天基础加强总复习 补充5-1.jpg





电脑绝技教你22天学精Csharp之第二十天基础加强总复习 补充5-2.jpg





本文版权归原作者今日头条所有,如有侵权请联系管理员删除,原文地址:https://www.toutiao.com/a6718407069122167310/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|服务条款|版权问题|手机版|小黑屋|手机版|滇ICP备13004447号-1|滇公网安备53032802000133号|神秘网

网站地图sitemapArchiver

GMT+8, 2024-12-23 19:34 , Processed in 0.078749 second(s), 22 queries , Gzip On.

基于Discuz! X3.5

辛树所有

快速回复 返回顶部 返回列表