C#基础之新语句

语句
除了些许附加的新语句和修改外,C# 的语句和 C++ 的基本一致。以下是新的语句:
foreach

用于迭代数组等集合。 例子:
foreach (string s in array)
Console.WriteLine(s);

lock
在线程中使代码块称为重点部分。
(译注:lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。)
checked/unchecked
用于数字操作中的溢出检查。 例子:

int x = Int32.MaxValue;
x++; // 溢出检查
{
x++; // 异常
}
unchecked
{
x++; // 溢出
}
下面的语句已修改:(译注:原文如此,疑为作者笔误)

Switch
Switch 语句在 C# 中修改过。
1.现在在执行一条 case 语句后,程序流不能跳至下一 case 语句。之前在C++ 中这是可以的。
例子:
int var = 100;

foreach (string s in array) Console.WriteLine(s);

switch (var)
{
case 100:
Console.WriteLine("<Value is 100>"); // 这里没有 break
case 200:
Console.WriteLine("<Value is 200>");
break;
}

C++ 的输出:<Value is 100><Value is 200>
而在 C# 中你将得到一个编译时错误:2.然而你可以像在 C++ 中一样这么用:
3.你还可以用常数变量作为 case 值:例子:

error CS0163: Control cannot fall through from one case label ('case 100:') to another

switch (var) {
case 100:
case 200: Console.WriteLine("100 or 200<VALUE is 200>");
break;
}

const string WeekEnd = "Sunday";
const string WeekDay1 = "Monday";
....
string WeekDay = Console.ReadLine();
switch (WeekDay )
{
case WeekEnd:
Console.WriteLine("It's weekend!!");
break;case WeekDay1:
Console.WriteLine("It's Monday");
break;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基础 .NET概述 参考:http://www.cnblogs.com/yplong/p/3279934.html...
    donite阅读 5,565评论 0 8
  • 知识点: 注:int类型默认32位有大小范围 且第一位为符号位 0 为正 1 为负 8.4作业 A:1、风力预警系...
    cGunsNRoses阅读 4,760评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • 方才看到一篇同系老学叔关于那些年的学习经历,现在的他们回想起那个简单而又热血的时期内心一定特感动,即使以我这个旁观...
    苏格拉喵小呆阅读 1,747评论 0 0
  • 作为一名大三学生,我的专业是食品,所以我就看了宇哥的《双食记》,看了感触颇深。。。 故事情节是一个孕期出轨的男人陈...
    丁铛铛阅读 1,445评论 0 1

友情链接更多精彩内容