c#基础加强笔记

1、索引器

namespace _索引器
{
    class Program
    {
        static void Main(string[] args)
        {

            Person p = new Person();
            Console.WriteLine(p[2]);
            Console.ReadKey();

        }
    }

    public class Person
    {
        public string[] names = { "F1","F2","F3","F4"};

        public string this[int index]
        {

            get
            {

                string str = "";
                switch (index)
                {
                    case 0: str = names[0]; break;
                    case 1: str = names[1]; break;
                    case 2: str = names[2]; break;
                }
                return str;
            }
        }

    }
}

2、ref和out

 1 namespace _09ref和out
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7
 8             //ref  可进可出,要赋初值
 9             // out  只出 不进,可以没有初值
10             int number=100;
11
12
13             Show(out number);
14             Console.WriteLine(number);
15             Console.ReadKey();
16         }
17
18         public static void Show(out int num)
19         {
20             num = 1000;//赋值
21         }
22
23     }
24 }

3、大量字符串拼接

 1 namespace _StringBuilder
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7
 8             StringBuilder sb = new StringBuilder();
 9
10             sb.Append("<html>");
11             sb.Append("<head><title>这是我的html页面</title></head>");
12             sb.Append("<body>");
13             sb.Append("<font color=\"red\" size=\"7\" face=\"全新硬笔行书简\">一首诗。。</font>");
14             sb.Append("</body>");
15             sb.Append("</html>");
16             //转成字符串类型
17             string str= sb.ToString();
18             File.WriteAllText("1.html",str,Encoding.UTF8);
19             Console.WriteLine("输出个html");
20             Console.ReadKey();
21
22
23
24         }
25     }
26 }

4、泛型集合

 1 namespace _分拣奇偶数
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             List<int> list = new List<int> {3,4,45,67,65,55,44,33 };
 8             List<int> listOdd = new List<int>();//奇数
 9             List<int> listEven = new List<int>();//偶数
10
11             for (int i = 0; i < list.Count; i++)
12             {
13                 if (list[i]%2==0)
14                 {
15                     listEven.Add(list[i]);//偶数
16                 }
17                 else
18                 {
19                     listOdd.Add(list[i]);//奇数
20                 }
21             }
22
23             for (int i = 0; i < listEven.Count; i++)
24             {
25                 Console.WriteLine(listEven[i]);
26             }
27             Console.WriteLine("===========================");
28             for (int i = 0; i < listOdd.Count; i++)
29             {
30                 Console.WriteLine(listOdd[i]);
31             }
32             Console.ReadKey();
33         }
34     }
35 }

5、键值对

 1 namespace _键值对
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             //键要唯一,不能重复
 8             Dictionary<string, int> dic = new Dictionary<string, int>(); //键值对
 9
10             dic.Add("卡卡西", 23);
11             dic.Add("乔峰",32);
12             dic.Add("宇智波斑",1000);
13
14             //遍历所有的键
15             foreach (string item in dic.Keys)
16             {
17                 Console.WriteLine(item);
18             }
19             Console.WriteLine("==================");
20             //遍历所有的值
21             foreach (int item in dic.Values)
22             {
23                 Console.WriteLine(item);
24             }
25             Console.WriteLine("===========================");
26             //遍历所有的键值
27             foreach (KeyValuePair<string,int> item in dic)
28             {
29                 Console.WriteLine(item.Key+"==="+item.Value);
30             }
31
32             Console.ReadKey();
33
34         }
35     }
36 }

练习1:大小写转换

 1 string str = "1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖 0零";
 2             //做一个字典
 3             Dictionary<char, char> dic = new Dictionary<char, char>();
 4             string[] strNumber = str.Split(new char[] { ‘ ‘ }, StringSplitOptions.RemoveEmptyEntries);
 5             for (int i = 0; i < strNumber.Length; i++)
 6             {
 7                 if (!dic.ContainsKey(strNumber[i][0]))
 8                 {
 9                     dic.Add(strNumber[i][0], strNumber[i][1]);
10                 }
11             }
12             Console.WriteLine("请输入数字");
13             string txt = Console.ReadLine();
14             for (int i = 0; i < txt.Length; i++)
15             {
16                 if (dic.ContainsKey(txt[i]))//判断字典中是否包含用户输入的内容
17                 {
18                     Console.Write(dic[txt[i]]);
19                 }
20                 else
21                 {
22                     Console.Write(txt[i]);
23                 }
24             }
25             Console.ReadKey();

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

 1             string str = "Welcome ,to Chinaworld";
 2             //全都转小写
 3            str= str.ToLower();
 4            Dictionary<char, int> dic = new Dictionary<char, int>();
 5            for (int i = 0; i < str.Length; i++)
 6            {
 7                //判断当前的这个字符是不是字母
 8                if (char.IsLetter(str[i]))
 9                {
10                    if (!dic.ContainsKey(str[i]))//判断有没有这个字母
11                    {
12                        dic.Add(str[i],1);
13                    }
14                    else
15                    {
16                        dic[str[i]]++;
17                    }
18                }
19            }
20
21
22            foreach (KeyValuePair<char,int> item in dic)
23            {
24                Console.WriteLine("{0}字母出现了{1}次",item.Key,item.Value);
25            }
26            Console.ReadKey();

6、装箱拆箱

装箱和拆箱是损耗性能的,尽量少去装箱和拆箱

 1            int num = 100;// 值类型
 2
 3            object obj = num;//值类型转引用类型   装箱---不准确的
 4
 5            string str = num.ToString();//不是装箱
 6
 7
 8            int number =(int) obj;
 9
10            // 有个直接或间接的继承关系
11            //值类型转引用类型   装箱---不准确的
12            //引用类型转值类型  拆箱 --- 不准确的
13
14
15            double d = 10;
16
17            double dou = (double)obj;//拆箱了 但是 拆箱失败了
18
19            Console.WriteLine(dou);
20            Console.ReadKey();

7、大文件移动

 1 namespace _大文件移动
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             //读的流
 8             using (FileStream fsRead=new FileStream(@"G:\视频\海盗.mkv",FileMode.Open, FileAccess.Read))
 9             {
10                 //写的流
11                 using (FileStream fsWrite=new FileStream(@"G:\电影\海盗.mkv", FileMode.Create, FileAccess.Write))
12                 {
13                     //每次读取的大小是5M
14                     byte[]buffer=new byte[1024*1024*5];
15                     //实际(真正读取到的大小)
16                    int r= fsRead.Read(buffer, 0, buffer.Length);
17                    while (r>0)
18                    {
19                        //写入
20                        fsWrite.Write(buffer, 0, r);
21                        Console.WriteLine("**");
22                        //再读取
23                        r = fsRead.Read(buffer, 0, buffer.Length);
24                    }
25                 }
26             }
27             Console.WriteLine("ok了");
28             Console.ReadKey();
29         }
30     }
31 }
时间: 2024-11-02 23:38:00

c#基础加强笔记的相关文章

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

HTML&CSS基础学习笔记13—无序列表

无序列表 有时我们的工作繁忙,杂事很多,怕忘记,就会把事情一件件列出来,防止忘记. 它们的排列顺序对于我们来说并不重要,可以随意调换,我们将它称为无序列表,HTML里用<ul>标签来表示无序列表,列表里的项目则用<li>标签来表示: 1 2 3 4 5 <ul>     <li></li>     <li></li>     ... </ul> 看一段实例代码: 对于的浏览器显示结果是这样的: 更多内容学习,请

ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

首页 头条 文章 频道                         设计频道 Web前端 Python开发 Java技术 Android应用 iOS应用 资源 小组 相亲 频道 首页 头条 文章 小组 相亲 资源 设计 前端 Python Java 安卓 iOS 登录 注册 首页 最新文章 经典回顾 开发 Web前端 Python Android iOS Java C/C++ PHP .NET Ruby Go 设计 UI设计 网页设计 交互设计 用户体验 设计教程 设计职场 极客 IT技术

JAVA基础学习笔记(2)

看了几天的视频了,都没时间来写下学习笔记,今天来写下第二次的学习笔记,前几天看的给忘记了,就写最新看到的吧 主要内容:1.类的变量与函数(方法) 2.对象的存储方式 3.新建一个对象及对象的赋值与调用 4.空对象 5.匿名对象 1.类的变量与函数(方法) class Dog      //类名 { String name;  //变量的声明 int age; String color; void bark()   //方法的定义(返回值为空,不带参数) { System.out.println(

ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分

JAVA基础学习笔记(1)

今天第一天开始学JAVA,时间:2014年6月17日 学习内容:1.java环境的架设 2.JAVA基本数据类型 1.JAVA环境的架设       1.要先去下载JDK,下载地址 2.安装完成后,设置环境变量 1.1环境变量的设置        1.右键-我的电脑-属性-高级-环境变量-系统变量,找到PATH,在里面加入jdk里bin目录的地址 如:c:\java\bin; 2.新建-名为classpath,值为. 1.2测试JAVA是否配置正确        1.在cmd里面输入javac.

原生ajax基础知识笔记

原生ajax基础知识笔记 1.创建 XMLHttpRequest 对象 所有现代浏览器(IE7+.Firefox.Chrome.Safari 以及 Opera)均内建 XMLHttpRequest 对象. 老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveXObject. 代码示例: // Creates a XMLHttpRequest object. var xhr = new XMLHttpRequest(); 兼容浏览器代码示例: var xhr; /

imooc’s html 基础教程笔记

imooc’s html 基础教程笔记 imooc’s html 基础教程 第一章 Html介绍 1.1 Html和CSS的关系 1.2认识html标签 1.3 标签的语法 1.4 认识html文件基本结构 1.5 认识head标签 1.6了解HTML的代码注释 2.1语义化,让你的网页更好的被搜索引擎理解 2.2 标签,网页上显示的内容放在这里 2.3 开始学习标签,添加段落 2.4 了解标签,为你的网页添加标题 2.5 加入强调语气,使用strong和em标签 2.6 使用span标签为文字

linux基础命令--笔记

linux基础命令--笔记 一.   1  . --help 命令简单帮助 2. man 查看命令复杂帮助  (非内置命令) 3  . help (bash的内置命令)如 :help cd  .help pwd   help  内置命令可用man cd  等查看. 4  . ls==list 查看目录列表 5 .  mkdir   == make directory  创建目录.例如:mkdir /date -p 递归创建目录 :mk 6  .  cd      ==change directo

网络连接相关基础知识笔记

一.常说的TCP/IP的含义 TCP/IP协议簇并不仅仅指TCP协议和IP协议,实际它包括了一系列协议组成的集合,如:TCP,IP,UDP,FTP,SMTP,DNS,ARP,PPP等 TCP与UDP协议都属于传输层协议,但有很大不同,TCP是面向连接的协议,提供的是可靠的数据流服务,TCP采用"带重传的肯定确认"机制来实现传输的可靠性,实现了一种"虚电路",因为从物理上来说,并不是真正在两台主机间建立了连接,这种连接只是存在于逻辑上的.最大的开销出现在通信前建立连接