博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#笔记
阅读量:2342 次
发布时间:2019-05-10

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

一.基础部分:

1.static方法属于类而不属于对象 即c#中不能用对象调用该类的静态成员(c++ java都可以的)

 

建议:

switch语句一定要有default来处理意外情况

尽量不用this

避免在同一个文件中使用多个类

关键语句写注释

尽量使用接口

命名规范:

所有的成员变量前加前缀_

接口的名称加前缀I

方法的命名为动宾短语 比如 creatFile()

类中 数据成员写到函数前面 用换行分隔

2.为赋值的内置变量不能直接使用 会编译出错

 

整数类型:

sbyte 8位有符号

byte 8位无符号

short 16位有符号

ushort 16位无符号

int32位有符号

uint 32 无

long 64位有符号

ulong 64 无

decimal decimal数据类型和double差不多 不过精度非常高 最大精确到小数点后28位 占12个字节

初始化和直接赋予的值必须符合变量类型的规定 比如 byte b = -1; b = -1会编译出错 但byte b = 0; b-= 1;可以通过 会溢出

string在C#中是变量

装箱 将值变量转换成引用变量 拆箱 将引用变量转换成值变量 int i = 1; object o = i;//装箱 int j = (int)o;//拆箱 作用:互转值变量和引用变量

它在value-type 和reference-type之间的架起了一座桥梁,使得任何value-type的值都可以转换为object类型的值,反过来转换也可以。装箱和拆箱使我们能够统一地来考察类型系统,其中任何类型的值最终都可以按对象处理。

C#中应该尽量避免装箱和拆箱操作,因为这样会对性能造成一定的影响。
在.NET2.0中提供了泛型,应尽量使用泛型。

bool变量不能与其他变量进行转换 当为静态类变量的时候 不初始化即可使用 为false

 

String 字符串

string = System.String

compare(str,str)静态方法 返回1 0 -1 

compareTo(str2)动态方法 同上

Equal/equal 同上 但返回bool型

format函数 类似于c的printf 只是返回值是一个string 更多格式参见 http://www.cnblogs.com/linbaoji/archive/2009/09/03/1559821.html

split分隔字符串 用法:

 

String s = "123,456 789";char[] c = { ',', ' ' };//将逗号 空格设为分隔标记String[] sr = new string[30];//用来放分隔后的字符串片段sr = s.Split(c);for (int i = 0; i != sr.Length; ++i){Console.WriteLine(sr[i]);}

 遍历数组的循环语句

     foreach (int temp in arr)

            {
                Console.WriteLine(temp);
            }

**数组的长度可以使用变量

一般的数组是Array类的子类

ArrayList是他的升级版 位于System.Colloection命名空间下 支持一些动态功能  ArrayList只能是一维的

ArrayList元素的类型由第一个进入数组的元素类型确定

//哈希表键值对读取和查找            Hashtable a = new Hashtable();            a.Add("id", 123);            a.Add("sex", "nan");                   Console.WriteLine("\t键 \t值");            foreach (DictionaryEntry dic in a)             {                Console.WriteLine("\t" + dic.Key + '\t' +dic.Value);            }            Console.WriteLine(a.Contains("nan"));//只能查找键 而不能是值            Console.WriteLine(a.ContainsValue("nan"));//查找值

 

属性

相当于方法 

class Test    {        private int a = 1;        public int aa        {            get            {                return a;            }            set            {                a = value;//value就是设置的时候得到的值            }        }    }

如果没有set 则为只读的属性

你可能感兴趣的文章
leetcode 1.TwoSum--hashmap
查看>>
leetcode 14. Longest Common Prefix
查看>>
leetcode 26. Remove Duplicates from Sorted Array
查看>>
leetcode 27. Remove Element
查看>>
leetcode 66. Plus One
查看>>
leetcode 111. Minimum Depth of Binary Tree
查看>>
leetcode 257. Binary Tree Paths
查看>>
poj1611-并查集
查看>>
Xeon E3-1500 v5 GPU
查看>>
skylake AVC性能
查看>>
IPTV的前世今生与发展
查看>>
x264中的汇编x86inc.asm
查看>>
X264中的sad-a.asm
查看>>
x264中的cpu-a.asm
查看>>
x264中的DCT变换 dct-a.asm
查看>>
X264的时耗分析
查看>>
H.264 Profile、Level、Encoder三张简图
查看>>
NEON指令集综述
查看>>
FFmpeg的H.264解码器源代码简单分析:概述
查看>>
linux下编译调试x264
查看>>