c#中的各种符号解释【不断更新中】

更新时间:2023-07-20 12:22:11 阅读: 评论:0

c#中的各种符号解释【不断更新中】
单个符号
由于在C#中这些符号不仅单⽤,还有各种组合使⽤情况,因此这⾥⾸先介绍它们单⽤的情况。
1. ~
逐位求反,例如: ~1=0,~0=1,~00010=11101;
另⼀种解释:按位求补符。这个符号可能⽐较少见,不过它确实很有⽤。1的32位表⽰为0000 0000 0000 0000 0000 0000 0000 0001,那么int a=~1实际为-2,即1111 1111 1111 1111 1111 1111 1111 1110。另外,~在List的BinarySearch中将会使你的操作⽅便很多。在这个⼆分查找的实现中,如果查找的元素不在集合中,它会返回⼀个负 值,技巧就在这⾥,这个数的求补结果是下⼀个⽐查找元素⼤的元素的位置,如果没有更⼤的元素,那么它表⽰元素总数。这个技巧使得我们在插⼊新的元素的时候 ⽅便很多。
以下为引⽤的内容:
static void main()
{
List<string>list =new List<string>();
int arch;
list.Add("public");
list.Add("protected");
list.Add("private");
list.Sort();
arch =list.BinarySearch("protected internal");教育资源均衡
if(arch <0)
{
list.Inrt(~arch, "protected internal");
}
foreach(string accessModifier in list)
{
Console.WriteLine(accessModifier);
}
}
输出结果为:
private protected protected internal public
2. !,@,#和$
!⾮逻辑运算符,这⾥不多讲。@常⽤在字符串开头,它可以告诉编译器忽略转义符,从⽽可以很⽅便的将⼀些特殊字符按⽤户表达意愿输出,另外在 Aspx.Net中这个字符常和其他字符混合使⽤。#和$微软暂时没盯上(当然如果你觉得C#⽤到了#的话也⾏)。不过$符号相信很多⼈都熟悉,⼤名⿍⿍
的JQuery使得这个符号处处可见,不过不保证以后微软也插上⼀脚。⼀下是$符号在js中的意思:
1、⾸先可以⽤来表⽰变量,
⽐如变量 var s='asdsd'或var $s='asdasd';蒲笋
2、在正则表达式中,它可以匹配结尾
唐诗三百首读后感
/sa$/.test(string)
匹配string字符串中的sa,⽐如string='125sa'则匹配,string='125sa21'则不匹配
南水北调的意义正则表达式很复杂,这⾥只是简单的说说。
太行山大峡谷
3、由于受prototype.js(⽼外写的框架,⽤于将⼀些常⽤的函数封装,⽅便操作)的影响,
现在很多⼈都⽤ $来表⽰⼀个查找对象的函数,
$=function (id) { return (typeof (id)=='object')?ElementById(id); };
其实就是⼀个⾃定义函数,⽤$只是简单,其实⽤其它字符也是⼀样的,
国庆节日记f=function (id) { return (typeof (id)=='object')?ElementById(id); };也可以
其中参数id是html⽂档中的id,
⽐如<div id='ss'></div>
胡萝卜炖羊肉则obj=$('ss')就是引⽤的这个id='ss'的对象
4.%,^,&,*,(),-,+,=,{},|和/
这些符号基本都是常见符号符号,因此这⾥也只做简单解释。%是求余运算符,^是异或位运算符,&则是按位与运算符,另外|是按位或运算 符。*既可以⽤作乘法符号,还可以表⽰为指针。()和{}⽤于对象中,前者⼀⽅⾯表⽰函数参数区域,另⼀⽅⾯在强制类型转换时表⽰把⼀种类型强制转换为括 号中的类型,除此,它还⽤来包裹运算部分从⽽制定运算优先级,后者则长表⽰代码⽚段作⽤域,它既可以⽤于指代命名空间中的有哪些类或类中包括哪些属性⽅法 等,还可以⽤于在协助C#中某些特殊操作时指定其作⽤块,如fixed,using等等,另外在字符串格式化中,{}和数字组合表⽰⽬标字符串中待替换⼦ 串位置, e.g. String.Format(“{0} + {1}={3}”, 1,2,3)。+通常表⽰相加数学运算符,=则长⽤来表⽰赋值操作。另外,这些操作符可以组合来表⽰不同含义,后⾯将会详细说明这⼀部分。/⽤于转义符的开始,如/n表⽰换⾏。
5.[]
这个符号同样常见,它通常有三种使⽤⽅式,⼀个是⽤于数组中表⽰索引位置,⼀种为添加类型的特性时使⽤,另外它也常常和this关键字在类中配合使⽤来形成类索引。
以下为引⽤的内容:
class Some
{
int this[string item]
{
get
{
桃子英语怎么读if(item==”a”)return1;
return0;
}
}
}
6. :,;',”,’,<,,,>,.,/,?
:⽬前没有单独使⽤情况,后⾯会讲到它的组合使⽤,;处处可见,C#不像VB,它⽤;表⽰语句的结束。”包裹字符串,’则包裹单个字符。<;和>分别为⼤和⼩的逻辑运算符,,⽤于分隔参数,.⽤于表⽰对象成员选择器或⼩数点。/则表⽰除以的数学运算符。?单个常⽤于表⽰可空的值类 型,int? a=null,它也可以与很多字符组合使⽤来表⽰不同意义。
符号组合
好了,键盘上的符号键基本介绍完毕,在C#中,符号更为强⼤的⼀⾯是它们之间不同组合产⽣不同的意义,这⾥将会对此作出⼀些简单介绍。
1. 单个字符重复组合
这⾥有?和+,-,&,|,<,>以及=。??同样⽤于泛型中,它在值类型数据操作时⾮常有⽤,它可以在值类型为空时指定默认 值,e.g. int a=someNullable??100;它表⽰如果someNullable不为空时则将其值赋给a,否则将100赋值给a,另外你也可以参考 。++和--表⽰⾃加或减1。&&,||和==则表⽰逻辑关系的且,或和相等。<<;和>>则分别表⽰左右移位操作。最后//表⽰单⾏注释。
1. 数学运算符,位运算符,逻辑运算符和=的组合使⽤。
和C/C++中类似,C#通过这两种符号的组合简化了程序员在常见数学运算时的输⼊。如+=,-=,*=,/=,%=,还有& amp;=,~=,|=等,它是⼀个数⾃⾝与某个数做相应数学操作的结果。如a+=10完整形式为:a=a+10。逻辑运算符和=则表⽰或的关系,如& gt;=表⽰⼤于或等于。
2. ?和:组合
这个组合的符号不是紧挨着的,不过他们必须组合使⽤。这⾥?和:组成条件表达式,int c= a==b?a:b; 它的存在同样简化程序员代码。
3. =>组合以及<>配对
=>组合是3.0以后加⼊的,它也是构成Lamda表达使得部分,它使得匿名函数的书写更加简洁。通常它前⾯会包含有表达式参数部分,后⾯则是表达式的主体部分。<>则在泛型中⼤量使⽤,它⽤来包裹
类型参数。
4. ASPX页⾯中的符号组合
在ASPX中组合符号很多,⼀般基本都是左右尖括号和其他符号组合来表⽰服务器端脚本代码,从⽽达到插⼊服务器代码的⽬的。这⾥仅列出⼀些常见符号组合。
⾸先<%@ 和%>⽤来表⽰ASPX 2.0的Page指令,它⼀般出现在页⾯顶部。在ASPX页⾯或⽤户控件中有11个指令(注1),指令格式为:<%@ [Directive] [Attribute=Value] %>。
<%=%>⽤于在HTML代码中插⼊代码⽚段。在Aspx.Net MVC中这个字符组合⾮常常见,这点类似以前的ASP,这也是有些程序员认为MVC退回到ASP时代的⼀个原因。
总结
符号在很多时候不仅⽐字符更加简洁的表达意思,⽽且它还更形象和直观,这也是符号在中出现的⼀个原因。不过符号并不是越多越好,所谓过犹不 及,太多太复杂的符号有时候反⽽会让程序员产⽣混淆和误解。所以⽬前中出现的符号数量并不是太多,并且未
来中符号应该是基本固定的。不过 这并不妨碍微软在适当的时候添加⼀些新的,有⽤的符号。
⽐如有⼈在展望 5.0的时候曾提到⽬前微软推出的Vedea语⾔的⼀个很不错的特性:绑定,它的符号为:textbox.Text := slider.Value; 这意味着当Value改变的时候,Text 也会相应改变。⽽双向绑定的语法则有所不同:textbox.Text :=: slider.Value; 相信这个新的符号如果加⼊到中来⼀定会让我们的代码⽐以前更加⽅便的!同时也期待类似的能简化我们程序员并且形象,直观的新特性符号能在未来出 现。
补充:
“@”
  @符号是特殊⽽⼜实⽤的C#符号.
⽐如它在string中的应⽤.
1、字符@表⽰,其后的字符串是个“逐字字符串”(verbatim string). // 这个说法来⾃C# Primer 中⽂版(Stanley B. Lippman, 侯捷/陈硕合译)
2、对于逐字字符串字⾯变量(verbatim string literal),我们不再需要使⽤“转义序列”就可以指定反斜线之类的特殊字符.@的这个特点使得在表⽰⽂件路径时很⽅便.如:string str = @"";
3、另外⼀点,⽤@表⽰的字符串能够跨越数⾏.这数⾏之内的空⽩字符(White Space)都会保留在字符串⾥.这样便能允许存储和⽣成带有格式的⽂本块.本⽂发表于www.bianceng如:string strText = @"Line1Line2Line3";有意思的是如果在VS2003中当你输⼊完第⼀⾏(string strText = @"Line1)换⾏后,光标会⾃动到第⼆⾏最开头 ^_^.很智能化、⼈性化的判断.
4、不知道⼤家在最初看到@的功能时有没有想,如果“转义序列”()在字符串中“失效”,那么想包含⼀个双引号("),怎么办?我找到了答案.⽅法 很简单.在双引号之前再加⼀个双引号即可.如:string str = @"""Great!""Said Allen Lee";
5、这仅仅是@在字符串中的⽤法,有机会再去看看@的其他东东.

本文发布于:2023-07-20 12:22:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1089044.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:符号   组合   部分   使得
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图