1.List泛型集合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace List泛型集合
{
class Program
{
static void Main(string[] args)
{
//
List<int> list = new List<int>();
list.Add();
list.Add();
list.AddRange(new int[] { , , , , , , , , });
list.AddRange(list); //List泛型集合可以转换成数组
int [] nums = list.ToArray();
Console.WriteLine(nums.Length);
for (int i = ; i < nums.Length; i++)
{
Console.WriteLine(nums[i]); }
/*
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}*/
//数组转LIST泛型集合
char[] chars = new char [] { 'a','b','c','d','e'};
List<char> listchars = chars.ToList();
for (int i = ; i < listchars.Count; i++)
{
Console.WriteLine(listchars[i]);
} Console.ReadKey();
}
}
}

2.装箱拆箱

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 装箱和拆箱
{
class Program
{
static void Main(string[] args)
{
//******
//装箱:将值类型转换为引用类型
//拆箱:将引用类型转换为值类型
//条件:看两种类型是否发生了装箱和拆箱,要看,这两种类型是否存在继承关系。 int n = ;
object o = n;//装箱
int nn = (int)o;//拆箱 //装箱操作
ArrayList list = new ArrayList();
for (int i = ; i < ; i++)
{
list.Add(i);
} //没有发生装箱和拆箱
string str = "";
int a = Convert.ToInt32(str); int b =;
IComparable cc = b;//装箱 Console.ReadKey();
}
}
}

3.字典集合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 字典集合
{
class Program
{
static void Main(string[] args)
{
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(, "");
dic.Add(, "");
dic.Add(, ""); dic[] = "new111"; //foreach (var item in dic.Keys)
//{
// Console.WriteLine(dic[item]);
//}
foreach (KeyValuePair<int,string> kv in dic)
{ Console.WriteLine("{0}----{1}", kv.Key, kv.Value);
} Console.ReadKey();
}
}
}

练习一:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 集合练习
{
class Program
{
static void Main(string[] args)
{
//将一个数组中的奇数放到一个集合中,再将偶数放到另一个集合中
//最终将两个集合合拼并一个集合,并且奇数显示在左边, 偶数显示在右边。
//Convert.ToBoolean(i % 2); 1--true,0--false List<int> list = new List<int>();
for (int i = ; i < ; i++)
{
list.Add(i);
} List<int> list_ji = new List<int>();
List<int> list_ou = new List<int>(); for (int i = ; i < list.Count; i++)
{
if (Convert.ToBoolean(list[i] % ))
{
list_ji.Add(list[i]);
}
else
list_ou.Add(list[i]);
} Dictionary<int, int> dic = new Dictionary<int, int>();
for (int i = ; i < list_ji.Count; i++)
{
dic.Add(list_ji[i], list_ou[i]);
}
foreach (KeyValuePair<int,int> kv in dic)
{
Console.WriteLine("{0}----{1}",kv.Key,kv.Value);
} Console.ReadKey();
}
}
}

练习二:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 集合练习2
{
class Program
{
static void Main(string[] args)
{
//提示用户输入一个字符串,通过foreach循环将用户输入的字符串赋值给一个字符数组
//string ss = "Welcome";
//char [] chars = ss.ToCharArray(); //统计Welcome to china 中每个字符出现的次数,不考虑大小写
string ss = "Welcome to china";
ss = ss.Trim();
ss=ss.Replace(" ","");
ss = ss.ToUpper();
Console.WriteLine(ss);
Dictionary<char, int> dic = new Dictionary<char, int>();
char[] chars = ss.ToArray();
int value=;
for (int i = ; i < chars.Length; i++)
{
if(dic.ContainsKey(chars[i]))
{
dic[chars[i]] = dic[chars[i]] + ;
}
else
{
dic.Add(chars[i], value);
}
} foreach (KeyValuePair<char,int> item in dic)
{
Console.WriteLine("{0}--{1}",item.Key,item.Value); } Console.ReadKey();
}
}
}

C#面向对象14 List泛型集合/装箱和拆箱/字典集合(Dictionary)的更多相关文章

  1. java - day010 - 基本类型包装,自动装箱和拆箱,日期,集合

    基本类型的包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolea ...

  2. C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)

    前言 之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处. 本文的重点就是:值类型直接存储其值,引 ...

  3. 对象转型、迭代器Iterator、Set集合、装箱与拆箱、基本数据类型与字符串的转换、TreeSet集合与对象

      包的声明与定义 需要注意的是,包的声明只能位于Java源文件的第一行. 在实际程序开发过程中,定义的类都是含有包名的: 如果没有显式地声明package语句,创建的类则处于默认包下: 在实际开发中 ...

  4. C# 程序性能提升篇-1、装箱和拆箱,枚举的ToString浅析

    前景提要: 编写程序时,也许你不经意间,就不知不觉的使程序代码,发生了装箱和拆箱,从而降低了效率,不要说就发生那么一次两次,如果说是程序中发生了循环.网络程序(不断请求处理的)等这些时候,减少装箱和拆 ...

  5. c#基础语言编程-装箱和拆箱

    引言 为什么有装箱和拆箱,两者起到什么作用?NET的所有类型都是由基类System.Object继承过来的,包括最常用的基础类型:int, byte, short,bool等等,就是说所有的事物都是对 ...

  6. Java自动装箱和拆箱

    jdk5.0之后,在基本数据类型封装类之间增加了自动装箱和拆箱的功能,其实“自动”的实现很简单,只是将装箱和拆箱通过编译器,进行了“自动补全”,省去了开发者的手动操作. 而进行封装类与对应基本数据类型 ...

  7. C#装箱和拆箱。

    装箱:值类型-->引用类型. 拆箱:引用类型-->值类型 装箱:把值类型拷贝一份到堆里.反之拆箱. 具有父子关系 是拆装箱的条件之一. 所以: class Program { static ...

  8. 基础系列(4)—— C#装箱和拆箱

    一 装箱和拆箱的概念 装箱是将值类型转换为引用类型 : 拆箱是将引用类型转换为值类型 : 值类型:包括原类型(Sbyte.Byte.Short.Ushort.Int.Uint.Long.Ulong.C ...

  9. 全面理解java自动装箱和拆箱(转)

    自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象.自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接. 如 ...

随机推荐

  1. shell脚本编程进阶

    在linux shell中,通常我们将一些命令写在一个文件中就算是一个shell脚本了,但是如果需要执行更为复杂的逻辑判断,我们就需要使用流程控制语句来支持了.所谓流程控制既是通过使用流程控制语句对程 ...

  2. ubuntu下最好用的防火墙shadaarp ,带主动防御

          shada-arpfirewall-1.0alpha3.i386.rpm 所有基于rpm的x86 Linux(内核版本>=2.6.27) Mar 11 82.9 KB     sha ...

  3. 如何配置git send-email相关的邮箱信息?

    关键是配置smtpserver,请参考此处

  4. LC 265. Paint House II

    There are a row of n houses, each house can be painted with one of the k colors. The cost of paintin ...

  5. springboot自定义filter获取spring容器bean对象

    今天在自己定义的filter中,想要直接注入spring容器的其它bean进行操作,发现不能正常的注入: 原因:web容器加载顺序导致, 加载顺序是listener——filter——servlet, ...

  6. npm publish 发布失败 无法连接 https://registry.npmjs.org

    自己写的npm包,之前每次更新都是正常发布,最近做个一个更新,想发布,然后npm publish 竟然失败, 错误提示如下: npm ERR! network request to https://r ...

  7. 使用Visual Studio Code Coverage和nunit上传单元测试覆盖率和单元测试结果到SonarQube上

    SonarQube.Scanner.MSBuild.exe begin /k:"OMDCCQuotes" /d:sonar.host.url="http://myip:9 ...

  8. GB、GBDT、XGboost理解

    GBDT和xgboost在竞赛和工业界使用都非常频繁,能有效的应用到分类.回归.排序问题,虽然使用起来不难,但是要能完整的理解还是有一点麻烦的.本文尝试一步一步梳理GB.GBDT.xgboost,它们 ...

  9. K8s+dashboard安装部署【h】

    系统安装使用虚拟机安装两个centos系统,在/etc/hosts里增加两行192.168.140.128 kuber-master192.168.140.129 kuber-node1 关闭防火墙s ...

  10. Linux学习笔记:shell

    目录 通配符 特殊符号 变量 环境变量 默认变量 shell script case if for until while function 本文更新于2019-08-23. 通配符 *:0个至无穷多 ...