C#中的??是什么意思

如题所述

第1个回答  2011-12-04
让转移字符"\"保持原意,不要转义,如一个地址字符串
string path="c:\abc\";
默认的"\"是作为转义来使用的,而不是一个真的斜杠字符串
所以这个地方要取到地址,正确的写法应该是:
string path=@"c:\abc\"; //这里的@让斜杠保持原意,不要转义
或者
string path="c:\\abc\\"; //不用@ 斜杠表示转义,所以要多加个斜杠
第2个回答  2021-08-17
说到??就不得不提到三目运算符?:
来看两个例子:
一、
int? a = null;
int b = a ?? 1;
int c = a==NULL ? a : 1;
结果b=c=1
二、
int?a=2;
int b=a??1;
int c = a==NULL ? a :1;
结果b=c=2

??运算符,从某些方面上来说也是三目运算符?:判断变量是否为空值时的的语法糖,当左边为空的时候返回右边的值。
??运算符常用于非空判断,如果为空返回右边的值,给变量一个默认值,以免让变量为null。
第3个回答  2018-03-30

+= 是从C/C++继承过来的运算符。

对于基础变量类型来说,+= 就是左侧的变量“自增”右边的数值,以下2/3行语句是等价的:

int i=1;
i += 5;
i = i + 5;

对于非基础类型的对象,+=作为一个运算符是支持重载的,但标准对象的重载都保留了原来的语义,和基础对象的等价语句相同。但不能保证所有对象的 += 都是这个意思,因为运算符重载可以重新定义其意义。

本回答被网友采纳
第4个回答  2010-04-29
字符串,用双引号引起来的几个字符.如"Abc","一天".

字符串是 Unicode 字符的有序集合,用于表示文本。String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。
String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。看来似乎修改了 String 对象的方法实际上是返回一个包含修改内容的新 String 对象。如果需要修改字符串对象的实际内容,请使用 System.Text.StringBuilder 类。
第5个回答  2008-04-04
方法和属性 是属于类的成员
就是说类包括属性和方法,

例如,人比作一个类,
人的属性就有:名字,性别,年龄等(变量或是常量),
人的方法就有:吃饭,睡觉,上班等(运算,计算,事情)。

事件可以理解为现实生活中发生的各种事情,

委托就说个例子吧
例如,
第一天,老板找了个秘书并教给秘书怎么做工作,
第二天,老板拿了一堆文件放到秘书办公桌上,对秘书说帮我处理完这写报表,这就形成了一个委托,老板委托秘书帮他完成一份工作, 就是事先写好方法,事后调用。
相似回答