csharpgl(csharpgl 教程)

开心常识网 1394 2023-06-01 02:13:59

电脑特技教你22天,掌握Csharp的第四天。

 csharp经典教程,电脑绝技教你22天学精Csharp之第四天

其实初四的语法前面已经学过了,今天全部补上,实际的22天根本花不完。如果忘了,可以复习前三天的内容。

1.异常捕获

我们经常会在程序中出现各种异常,如果你希望你的程序更强大。

应该在代码中频繁使用Try-catch来捕获异常。

踢掉任何一行可能不正常的代码。

语法:

尝试

{

可能异常的代码;

....

...

...

}

//在//try和catch之间不能有其他代码。

捕捉

{

异常发生后要执行的代码;

}

执行过程:如果try中的代码没有异常,那么catch中的代码就不会被执行。

如果try中的代码出现异常,恐怕这一行异常代码后面还有100行不会执行。

而是直接跳转来捕捉并执行代码。

2.变量的范围

变量的作用域就是你可以使用它的范围。

变量的范围通常从声明变量的括号开始,到与该括号对应的结束括号结束。

在这个范围内,我们可以访问和使用变量。超出这个范围就不能参观了。

3、开关盒

用于处理多条件定值的判断。

语法:

开关(变量或表达式的值)

{

案例值1:要执行的代码;

打破;

案例值2:要执行的代码;

打破;

案例值3:要执行的代码;

打破;

..........

默认值:要执行的代码;

打破;

}

执行过程:在开关处执行程序时,首先计算括号内变量或表达式的值。

然后取这个值,依次与每个案例背后的值匹配。一旦匹配成功,就执行它。

这种情况下的代码在执行后会遇到中断。跳出开关箱结构

如果,不匹配每个案例带来的价值。这取决于它是否存在于当前的开关盒结构中。

默认值,如果有默认值,则执行默认值中的语句;如果没有默认值,则开关盒结构

什么都不做。

4.圆形结构

While循环:

While(循环条件)

{

循环体;

}

执行过程:当程序运行到while时,首先判断括号内带while的循环条件是否成立。

如果为真,即返回真值,则执行循环体,执行一次循环体后,再次返回。

判断回路状况。如果仍然成立,继续执行循环体。如果没有,跳出while循环。

在while循环中,总有一行代码可以改变循环条件,使其在某一天不再有效。

如果没有一行代码可以改变循环条件,也就是循环条件永远成立,我们称之为this loop。

这叫做无限循环。

最简单和最常用的无限循环:

while(真)

{

}

特点:先判断,后执行,有可能一次循环都不执行。

5、休息

1)你可以跳出开关盒结构。

2)可以跳出当前循环。

Break一般不单独使用,而是和if判断一起使用,意思是当满足一定条件时,就不再循环。

6.do-while循环。

语法:

{

循环体;

}while(循环条件);

执行过程:程序会先执行do中的循环体,执行后再判断do-while循环的循环条件。

如果是,继续执行do中的循环体;如果没有,跳出do-while循环。

特点:先循环,后判断,至少执行一次循环。

2.csharp经典教程,干货攻略CSharpC井前言

微软发布了新的VS 2017...随之而来的是很多事情...新版网络,新版ASP.NET...等等...太多...真的没有消化。..

分享一下C#7.0的新特性,其实是2016年12月公布的。虽然很早就出来了,但是我们的IDE不支持。..

但是,在昨天的VS2017中,它是完美的,可以使用。

英语不错,the walk官方介绍地址:https://docs . Microsoft . com/zh-cn/dot net/articles/csharpcsharp-7。

一、输出变量(Out variables)

在过去,当我们使用out变量时,我们需要在传入方法之前在外部声明它,这类似于以下内容:

字符串ddd =//首先声明变量

ccc。string out(out DDD);

控制台。写线(DDD);

在C#7.0中,我们可以在传递参数时直接声明它,而不声明它,如下所示:

string out(out string DDD);//在传输的同时声明

控制台。写线(DDD);

控制台。ReadLine();

第二,元组(tuple)

英寸NET4.0,微软给了我们一个解决方案,叫做多元返回值的tuple。类似的代码如下:

静态空干管(字符串

通过上面的代码,我们可以体会到switch的新玩法是多么流畅和强大。

过滤匹配模式时的情况

有些基友会问。既然可以匹配Switch中的类型,那么可以顺便过滤一下值吗?答案当然是肯定的。

让我们更改上面的开关代码,如下所示:

开关(a)

{

当b & lt0:

数据= b 100

打破;

案例int b:

数据= b;

打破;

案例字符串c:

关于[csharp经典教程],今天就分享给大家。如果对你有帮助,别忘了关注这个网站。

内容导航:1。csharp经典教程:电脑特技教你22天掌握Csharp的第四天2。csharp经典教程:干货打Csharp井1。csharp经典教程:电脑特技教你22天掌握csharp的第四天data = c“AAA”;

打破;

默认值:

数据=空;

打破;

}

尝试传入-1,结果如下:

第四,reflocales和returns(局部引用和引用返回)

 csharp经典教程,电脑绝技教你22天学精Csharp之第四天

动词 (verb的缩写)本地功能(本地功能)

嗯,这有点颠覆性...众所周知,局部变量是指只能在特定的过程或函数中访问的变量。

那么这个局部函数顾名思义就是只能在特定函数中访问的函数。

使用方法如下:

公共静态void DoSomeing()

{

//调用Dosmeing2

int data = Dosmeing2(100,200);

控制台。WriteLine(数据);

//定义局部功能,给药2。

int Dosmeing2(int a,int b)

{

返回a b;

}

}

嗯,解释大概是dosome 2中定义了dosome 2的一个方法,之前调用过。(注意:值得一提的是,本地函数定义在方法中的任何地方,并且可以在方法中调用,而无需遵循逐行解析的方法)

六、更多表达式体成员(更多函数成员的表达式体)

在C#6.0中,规定只有一条语句的方法体可以缩写为表达式。

如下所示:

public void CreateCaCheContext()= & gt;new cache context();

//相当于下面的代码

public void CreateCaCheContext()

{

new cache context();

}

但是,不支持构造函数、析构函数和属性的访问器,所以C#7.0支持..代码如下:

//构造函数的表达式编写

public CaCheContext(字符串标签)= & gt这个。Label =标签;

//析构函数的表达式编写

~ cache context()= & gt;控制台。Error.WriteLine("已完成!");

私有字符串标签;

//获取/设置属性访问器表达式编写

公共字符串标签

{

get = & gt标签;

set = & gtthis.label = value??”默认标签”;

}

七、扔表情(异常表情)

在C#7.0之前,我们要判断一个字符串是否为空,如果为空,就把异常扔掉。我们需要这样写:

公共字符串为Null()

{

字符串a = null

if (a == null)

{

Thrownnewexception("异常!");

}

返回a;

}

这样我们就很不方便了,特别是在三元表达式或非空表达式中,我们不能扔掉这个异常,需要写一个if语句。

所以在C#7.0中,我们可以这样做:

公共字符串为Null()

{

字符串a = null

还a??Thrownnewexception("异常!");

}

八、广义异步返回类型(universal async return types)

嗯,怎么说呢?其实我很少异步使用,所以对这种感觉理解不深,我还是觉得在一些特定的场合应该有用。

我直接翻译了官方原文,示例代码也是官方原文。

异步方法必须返回void、task或Task

官方示例显示,当数据被缓存时,可以通过使用ValueTask将数据返回到异步或同步模式。

公共类CaCheContext

{

公共值任务& ltint & gtCachedFunc()

{

返回(缓存)?新值任务& ltint & gt(cacheResult):新值任务& ltint & gt(load cache());

}

private bool cache = false

private int cacheResult

私有异步任务& ltint & gtloadCache()

{

//模拟异步工作:

等待任务。延时(5000);

cache = true

cacheResult = 100

返回cacheResult

}

}

调用的代码和结果如下:

//main方法不能用async修饰,因此使用委托。

静态void Main(string[] args)

{

action act = async()= & gt;

{

cache context cc = new cache context();

int data = await cc。cached func();

控制台。WriteLine(数据);

int data2 = await cc。cached func();

控制台。WriteLine(data 2);

};

//调用委托

act();

控制台。read();

}

我们连续两次调用了上面的代码。第一次,我们等了5秒钟的结果。第二次,没等直接结果和预期效果一致。

九、数值字面语法的改进(数值文本语法的改进)

这纯粹是为了好看。

在C#7.0中,数字中允许出现除法符号“_”,以提高可读性。例子如下:

int a = 123 _ 456

int b = 0xAB _ CD _ EF

int c = 123456

int d = 0xABCDEF

控制台。WriteLine(a = = c);

控制台。WriteLine(b = = d);

//如上面的代码所示,会显示两个true字符。在数字中使用“_”分隔符不会影响结果,只是为了提高可读性。

当然,既然是数字分隔符,小数、浮点数、double都可以这样分。..

作者:谷振银

分享完噼里啪啦牛皮的内容,记住关键词:csharp入门经典、csharp皮肤、csharp语言入门自学、csharpgl教程、csharp零基础入门教程。

上一篇:湛江开头电话号码(湛江的电话号码是什么数字开头)
下一篇:童年歌曲排行(盘点童年那些经典歌曲有哪些)
相关文章
返回顶部小火箭