男主失去女主后黑化(男主失去女主后追悔莫及)
0
2025-02-21
电脑特技教你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(局部引用和引用返回)
动词 (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零基础入门教程。