步入C#大门

来源:互联网 发布:淘宝客api是什么 编辑:程序博客网 时间:2024/04/29 20:52

一、C#语言学习方法

学习一门语言,我认为第一步要训练自己的思维能力,让自己的思维更像计算机一样,具有逻辑连贯性和承接性,如果你的逻辑思维十分的跳跃那么可能在编码程序的时候会出现一些考虑不全的漏洞。训练这种逻辑连贯性和逻辑承接性,我常用的一个方法是遇见一个问题细分为多个连贯性的步骤。

其次,C#的语言特性,他是一门上手很快的语言,不需要你配置任何环境变量和配置任何应用服务器,绝大部分开发仅仅需要安装好VS开发环境就ok了,如果有其他的扩展可使用NuGet获取扩展插件或则下载外部DLL文件进行导入。

最后,要学习好C#这门语言需要勤奋不断的实践,实践出真知。

下面我对我经常犯错的地方与大家一起分享一下,希望能对你有所帮助。

二、数组

数组时引用类型。

数组的大小是数组的所有维度的长度乘积。表示数组中包含的元素的总数。每个维度的索引是从0开始的,这意味着索引范围从0到他的上限。因此,给定维度的长度要比最大索引大1。

比如:a[8]这个数组的长度就是9.

三、文件操作

操作文件需要移动文件到相应的文件夹中,采用的办法先把文件拷贝到指定的文件夹中,然后删除原有的文件(直接把文件移动过去未试成功)

读取txt文件内容,为了按照txt的每一段为数组的一个元素,应为一个txt文件有十分多的行,这里不建议使用Split()函数(看下面解释就知道了)

使用方法:

List<String> str = new List<String>();

StreamReader reader = new StreamReader(FileName,Encoding.Default);

while(reader.Peek()!=-1){  //判断文件是否到达最后一行

str.add(reader.ReadLine());

}

四、字符串操作

一般使用Split()函数是不会出现问题的,如果使用Split()拆分的数组长度大于65535就会出现越界问题。

五、问号含义

1.可控类型修饰符"T?":例如:int?代表可控整形,即可空类型可以表示其基础类型的一个值和一个额外的空值。可空类型有一个HasValue的bool类型的只读属性,当该属性为true的时候,那么该值为非空实例,可以正常访问该值的Value。如果HasValue的属性为false的时候,那么访问该值的Value导致异常。

2.条件运算符"result = a?b:c"三元运算符,如果条件a为真,那么result=b,如果条件a为假,那么result=c。

3.空合并运算符"??",例如:a??b如果a为空返回b,如果a不为空返回a。a??b??c适合右和左结合a??b??c=a??(b??c)

4.命名空间别名限定符"::".一般使用比较少,使用情况是比如,当类中的成员在可能被其他名字重名覆盖的前提下使用时非常有用的。

比如,定义 int Console=2,但是在函数中Console.wrilte("xxx");就会出现问题,这时我们要制定使用的System的Console方法可以使用 global::System.Console.Write("xxxxx"),这样就消除了歧义。

这里的简单的归纳,只是平时使用中的一些简单的常用的经常搞混的容易犯错的进行了简单的归纳和总结希望能给你有所帮助,如果你在开发过程中发现了一些值得借鉴的也可以发出来一起学习分享,共分享同成长。

0 0
原创粉丝点击