.Net运算符和基础语句
.Net运算符
-
运算符
C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如 ==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、-- 和 sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。
运算符类别 | 运算符 |
---|---|
基本 |
|
一元 |
|
乘法 |
|
加法 |
|
变换 |
|
关系和类型检测 |
|
相等 |
|
逻辑“与” |
|
逻辑 XOR |
|
逻辑“或” |
|
条件 AND |
|
条件 OR |
|
条件运算 |
|
赋值 |
-
运算符优先级
前++ 前-- +(正号) -(负号)! ~
* / %
+ -
<< >>
< > <= >=
== !=
&
^
|
&&
||
赋值运算
后++ 后--
-
可重载运算符
C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载,下表列出了不能被重载的运算符:
运算符 | 可重载性 |
---|---|
可以重载这些一元运算符。 |
|
可以重载这些二进制运算符。 |
|
比较运算符可以重载(但请参见本表后面的说明)。 |
|
条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。 |
|
不能重载数组索引运算符,但可定义索引器。 |
|
赋值运算符不能重载,但 += 可使用 + 计算,等等。 |
|
不能重载这些运算符。 |
-
语法
- public static Complex operator +(Complex c1, Complex c2)
#p#
.Net 基础语句
分支语句
- 三元运算符
- (……)?b:c
- (s == null) ? "" :s;
- if else语句
- if(){}
- else if(){}
- else{}
- switch语句
- switch(var)
- {
- case <value>: …… break;
- default: …… break;
- }
迭代语句
- do/while循环
- do
- {……}
- while(<test>);
- while循环
- while(<test>)
- {……}
- for循环
- for(<初始化>;<条件>;<操作>)
- {……}
- foreach,in循环
- foreach(<baseType> <name> in <array>)
- {……}
跳转语句
- break
立即终止循环
- continue
结束当前循环,进入下一次循环
- goto
跳出循环到标记位置
- goto <labelName>;
- <labelName>:
- return
跳出循环并结束包含其的方法
异常块语句
- throw
throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。
- try-catch
try-catch 语句由一个 try 块后跟一个或多个 catch 子句构成,这些子句指定不同的异常处理程序,指定通用的异常处理使用catch{......}。
- try-finally
finally 块用于清除 try 块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制总是传递给 finally 块,与 try 块的退出方式无关。
- try-catch-finally
catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源。
- try
- {
- checked{……}
- }
- catch(OverflowException ex)
- {
- ……
- }
溢出监测语句
- checked
测试数值类型做算术运算时是否溢出,溢出时获得异常System.OverflowException
- unchecked
- {……}
原文链接:http://www.cnblogs.com/liusuqi/archive/2013/06/13/3133439.html
http://www.cnblogs.com/liusuqi/archive/2013/05/30/3107428.html
相关文章
- 关于.NET玩爬虫这些事
- DDD实战中如何避免过度设计
- 3D视频聊天、百万比特量子计算机、十倍性能TPU:谷歌在I/O大会上让我们看到了未来
- 为什么 .NET的反射这么慢?
- ASP.NET Core 单元测试之如何 Mock HttpClient.GetStringAsync()
- 在ASP.NET Core中使用百度在线编辑器UEditor
- MVC路由自定义及视图找寻规则
- Microsoft 宣布将停止支持多个 .NET Framework 版本
- ASP.NET Core 单元测试:如何Mock Url.Page()
- 使用AJAX获取Django后端数据
- 一图看懂 ASP.NET Core 中的服务生命周期
- 构建高性能ASP.NET应用的12点建议
- 你了解AJAX吗?TA不是新编程语言而是WEB应用程序技术
- 又一起.NET程序挂死, 用 Windbg 抽丝剥茧式的真实案例分析
- 从一个Demo开始,揭开Netty的神秘面纱
- 从.net转型,聊聊最近一些面试,薪资和想法
- 如何在 ASP.NET Core 中使用内置的 Json 格式化日期 ?
- ASP.NET 5 开发者的五个阶段​​
- 让编程更轻松的 7 个 Visual Studio 扩展
- 对 ASP.NET 异步编程的一点理解