~ 按位求补符;
! 非逻辑运算符;
% 求余运算符;
^ 异或位运算符;
& 且位运算符;
|  或位运算符;
* 既可以用作乘法符号,还可以表示为指针;
+ 表示数学运算符相加;
= 用来表示赋值操作;
\  用于转义符的开始,如\n表示换行;
”  包裹字符串;
’  包裹单个字符;
< 逻辑运算符小;
> 逻辑运算符大;
, 用于分隔参数;
. 用于表示对象成员选择器或小数点;
/ 表示除以的数学运算符;

# 用于条件编译或划分代码块。
  如:#if #else #define #region #endregion

? 单个常用于表示可空的值类型,如:int? a=null;
  它也可以与很多字符组合使用来表示不同意义。

?? 用于泛型中,在值类型为空时指定默认值,
   int a = myNullable ?? 100;
   //表示如果myNullable不为空时则将其值赋给a,否则将100赋值给a。

++ 表示自加;
-- 表示自减;
&& 表示逻辑关系且;
|| 表示逻辑关系或;
== 表示逻辑关系相等;
>= 表示逻辑运算符大于或等于;
<= 表示逻辑运算符小于或等于;

<< 表示向左移位操作;
>> 表示向右移位操作;
// 表示单行注释;

+=,-=,*=,/=,%=,&=,~=,|= 等,它是一个数自身与某个数做相应数学操作的结果。如:a+=10; 完整形式为:a=a+10;

<> 在泛型中大量使用,它用来包裹类型参数。

() 用于对象中:
   1、表示函数参数区域;
   2、强制类型转换;
   3、制定运算优先级;

{} 用于对象中:
   1、表示代码片段作用域;
   2、协助C#中某些特殊操作时指定其作用块,如fixed,using等;
   3、另外在字符串格式化中,{}和数字组合表示目标字符串中待替换子串位置,如:String.Format(“{0} + {1}={3}”, 1,2,3);

[] 这个符号同样常见,它通常有三种使用方式:
   1、一个是用于数组中表示索引位置;
   2、一种为添加类型的特性时使用;
   3、和this关键字组成索引器 this[...];

=> 它是构成Lamda表达式的部分,使得匿名函数的书写更加简洁(3.0以后加入)。通常它前面会包含表达式参数部分,后面是表达式的主体部分。

@ 符号的两种用法:
   1、常用在字符串开头,它可以告诉编译器忽略转义符;

2、当给变量或属性取名时,变量名(或属性名)与.net中的关键字相同冲突,可以使用“@变量名”来绕过限制。
如:int @int = 123;
//这里@int变量用Reflector查看IL变量时,看到的是int,而不是@int。

$ 符号的两种用法:
   1、该符号在匿名方法中,编译器会偷偷用到。
      可以通过查看IL代码了解它的命名,但对C#代码是不可见的。机器产生的私有方法并不显示在 IntelliSense 中,也不能显式地调用它。

2、在调试程序代码时,可以使用到该符号。
      比如当catch没有写上exception变量,如:catch{...}
      //要想获取exception信息,可以在“即时窗口”或者“监视窗口”输入:$exception 即可。

?和: 符号的组合
这里?和:组成条件表达式,如:int c= a==b?a:b;

<%= 和 %> 组合
用于在HTML代码中插入.NET代码片段。
在Aspx.Net MVC中这个字符组合非常常见,这点类似以前的ASP,这也是有些程序员认为MVC退回到ASP时代的一个原因。

<%@ 和 %> 组合
用来表示ASPX 2.0的Page指令,它一般出现在页面顶部。
在ASPX.NET页面或用户控件中,有11个指令(注1),指令格式为:<%@ [Directive] [Attribute=Value] %>。

C# 符合备忘录的更多相关文章

  1. 前端性能优化(JavaScript篇)

    正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 优化循环 如果现在有个一个data[]数组,需要对其进行遍历,应当怎么做?最简单的代码是 ...

  2. C#设计模式-备忘录模式

    访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离.而本文要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起人的具体命令(命令对应的是行为),而备忘 ...

  3. 备忘录模式(Memento Pattern)

    在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 备忘录模式主要思想是——利用备忘录对象来对保存发起人的内部状态,当发起人需要恢复原 ...

  4. C#设计模式(23)——备忘录模式(Memento Pattern)

    一.引言 在上一篇博文分享了访问者模式,访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离.而今天要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起 ...

  5. 乐在其中设计模式(C#) - 备忘录模式(Memento Pattern)

    原文:乐在其中设计模式(C#) - 备忘录模式(Memento Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 备忘录模式(Memento Pattern) 作者:webabc ...

  6. C#设计模式之二十二备忘录模式(Memeto Pattern)【行为型】

    一.引言   今天我们开始讲"行为型"设计模式的第十个模式,该模式是[备忘录模式],英文名称是:Memento Pattern.按老规矩,先从名称上来看看这个模式,个人的最初理解就 ...

  7. Java进阶篇设计模式之十二 ---- 备忘录模式和状态模式

    前言 在上一篇中我们学习了行为型模式的策略模式(Strategy Pattern)和模板模式(Template Pattern).本篇则来学习下行为型模式的两个模式,备忘录模式(Memento Pat ...

  8. 折腾Java设计模式之备忘录模式

    原文地址:折腾Java设计模式之备忘录模式 备忘录模式 Without violating encapsulation, capture and externalize an object's int ...

  9. C#设计模式之二十二备忘录模式(Memento Pattern)【行为型】

    一.引言 今天我们开始讲“行为型”设计模式的第十个模式,该模式是[备忘录模式],英文名称是:Memento Pattern.按老规矩,先从名称上来看看这个模式,个人的最初理解就是对某个对象的状态进行保 ...

随机推荐

  1. 一个更好的C++序列化/反序列化库Kapok

    KapokFAQ1.Kapok的特点简单,易用,header-only,只需要引用Kapok.hpp即可:高效,初步测试性和messagepack相当.它是纯c++11实现,因此需要支持C++11的编 ...

  2. 每日英语:China to Move Slowly on One-Child Law Reform

    BEIJING—China's family-planning agency is projecting a slow rollout for an easing of its one-child p ...

  3. 解决最小化安装Centos7后无法上网的问题,以及安装成功后的基本配置

    发现问题 刚装完最小化的系统后,如果直接ping外网,可能回出现如下情况 解决问题 首先编辑虚拟机的DHCP池: 在弹出的“虚拟网络编辑器”窗口中选择NAT模式的,编辑为其分配地址池: 然后编辑网卡的 ...

  4. pyspark实现自动提示以及代码高亮

    pyspark实现自动提示以及代码高亮 起因 打开pyspark发现啥提示都没有,太不友好了啊,然后忍不住谷歌了一下,发现了这篇文章,内容如下: 1.pip install ptpython; 2.e ...

  5. nginx中配置proxy_pass

    在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走. 下面四种 ...

  6. with open

    再考虑一个场景,要读取文件内容,并把年龄和名字的顺序交换存成新文件age_name.txt,这时可以同时打开两个文件:with open('name_age.txt', 'r') as fread, ...

  7. [转]MySQL update join语句

    原文地址:https://www.jianshu.com/p/f99665266bb1 在本教程中,您将学习如何使用MySQL UPDATE JOIN语句来执行跨表更新.我们将逐步介绍如何使用INNE ...

  8. [转]JAVA泛型通配符T,E,K,V区别,T以及Class<T>,Class<?>的区别

    原文地址:https://www.jianshu.com/p/95f349258afb 1. 先解释下泛型概念 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被 ...

  9. kafka 怎么保证的exactly once

    Kafka auto.offset.reset值详解 发表于2017/7/6 11:25:22  1010人阅读 分类: Kafka 昨天在写一个java消费kafka数据的实例,明明设置auto.o ...

  10. Adventures in Functions

    速度还行,两天看完一章,就是有细节没去扣.书上的大部分知识点和代码都看了,这个还是可以的. 今天继续来学习函数的高级特性,要涉及到以下的主题. 内联函数(inline function) 引用变量(r ...