博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
008天(.net学习之路-C#基础知识)
阅读量:5125 次
发布时间:2019-06-13

本文共 4257 字,大约阅读时间需要 14 分钟。

集合类

集合常用操作 添加、遍历、移除
命名空间
System.Collections
一、•
ArrayList 可变长度数组,使用类似于数组
  •属性 Capacity Count
  •方法
    Add()  添加    
    AddRange() 添加集合
    Remove()移除
    RemoveAt()移除索引所指
    Clear()清空
    Contains()
    ToArray()
 
二、•Hashtable 键值对(KeyValuePair)的集合,类似于字典 (没有索引,Key不能重复)
 可以遍历值、遍历键、遍历键值对(DictionaryEntry)
 
★三、泛型集合(编程中如果要使用集合,尽量使用泛型集合)
 
 可以规定值类型的集合。
  
命名空间System.Collections.Generic
  1、List<T>类似于ArrayList
  2、Dictionary<K,V>类似于Hashtable
  T,K,V就像一把锁,锁住集合只能存某种特定的类型,这里的T,K,V也可以是其它字母
 
Dictionary<K,V>(以键值对遍历KeyValuePair<string,Student>)
   foreach(KeyValuePair<string,Student>  kvp int students)
    {
    }
 
练习1:从一个整数的ArrayList、List<int>中取出最大数。别用max方法。
1  //从一个整数的ArrayList、List
中取出最大数。别用max方法。 2 int[] i = { 1, 88, 544, 211, 54545, 12, 13, 1, 0, -8 }; 3 //ArrayList ar = new ArrayList(); 4 //ar.AddRange(i); 5 //int max = 0; 6 //foreach (Object item in ar) 7 //{ 8 // int a = Convert.ToInt32(item); 9 // if (a > max)10 // {11 // max = a;12 // }13 //}14 List
li = new List
();15 li.AddRange(i);16 int max = 0;17 foreach (int item in li)18 {19 if (item > max)20 {21 max = item;22 }23 }24 Console.WriteLine(max);25 Console.ReadKey();
View Code
l练习2:把1,2,3转换为1壹 2贰 3叁
1  //练习:把1,2,3转换为1壹 2贰 3叁 2             Dictionary
di = new Dictionary
(); 3 di.Add(1,"壹"); 4 di.Add(2, "贰"); 5 di.Add(3, "叁"); 6 int[] i = { 1, 2, 1 }; 7 foreach (int item in i) 8 { 9 Console.WriteLine(di[item]); 10 }11 12 Console.ReadKey();
View Code

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

1  //练习:计算字符串中每种字符出现的次数(面试题)。“Welcome to Chinaworld”,不区分大小写,打印“W2”“e 2”“o 3”……  2             Dictionary
di = new Dictionary
(); 3 string s = "Welcome to Chinaworld"; 4 foreach (char item in s) 5 { 6 if (!di.ContainsKey(item)) 7 { 8 di.Add(item, 1); 9 }10 else11 {12 di[item] += 1;13 }14 }15 foreach (KeyValuePair
item in di)16 {17 Console.WriteLine("{0}{1}",item.Key,item.Value);18 }19 Console.ReadKey();
View Code

 练习4:翻译软件

1 fangyi fy = new fangyi(); 2         private void Form1_Load(object sender, EventArgs e) 3         { 4             5             fy.Write("D:\\2.txt"); 6         } 7  8         private void button1_Click(object sender, EventArgs e) 9         {10             txt_Value.Text = fy.Read(txt_Key.Text);11         }

 

1 class fangyi 2     { 3         //定义个字典接收数据 4         Dictionary
di = new Dictionary
(); 5 //写的方法(从txt文档中写入字典中) 6 public void Write(string path) 7 { 8 string[] s=File.ReadAllLines(path,Encoding.Default); 9 foreach (string item in s)10 {11 string[] line = item.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);12 if (!di.ContainsKey(line[0]))13 {14 di.Add(line[0], line[1]);15 16 }17 else18 {19 di[line[0]] = di[line[0]] + "," + line[1];20 21 }22 }23 }24 //读的方法(从字典中读取)25 public string Read(string key)26 {27 if (di.ContainsKey(key))28 {29 return di[key];30 }31 else32 {33 return "请升级数据库";34 }35 }36 }
翻译类

 

转载于:https://www.cnblogs.com/lobe/archive/2013/05/21/3089935.html

你可能感兴趣的文章
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
uCOS-II中的任务切换-图解多种任务调度时机与问题
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>