Possible Duplicate: What do two question marks together mean in C#? I'm trying to understand what this statment does: what does "??" mean? is this som type if if-statment? string cookieKey = "SearchDisplayType" + key ?? ""; It's the Null Coalescing operator. It means that if the first part has value then that value is returned, otherwise it returns the second part. Eg
可能重复: C#中两个问号在一起意味着什么? 我试图理解这个陈述的作用:什么是“??” 意思? 如果if-statment是这个som类型吗? string cookieKey = "SearchDisplayType" + key ?? ""; 这是Null合并操作符。 这意味着如果第一部分有值,则返回该值,否则返回第二部分。 例如: object foo = null; object rar = "Hello"; object something = foo ?? rar; something == "Hello"; // true 或者一些实际的代码: IEnu
Possible Duplicate: What do two question marks together mean in C#? Hi, I was looking for some trainings of MVC 2 in C# and I found this sintax: ViewData["something"] = something ?? true; So, what is that '??' means ?. It's the null-coalescing operator. It returns the first argument unless it is null, in which case it returns the second. x ?? y x ?? y is roughly equivalen
可能重复: C#中两个问号在一起意味着什么? 嗨,我在C#中寻找MVC 2的一些培训,我发现这个sintax: ViewData["something"] = something ?? true; 那么,那是什么? 是指? 它是空合并运算符。 它返回第一个参数,除非它为空,在这种情况下,它返回第二个参数。 x ?? y x ?? y大致相当于这个(除了第一个参数只被评估一次): if (x == null) { result = y; } else { result = x; } 或者: (x == nul
This question already has an answer here: What do two question marks together mean in C#? 16 answers It's called the "null coalescing operator" and works something like this: Instead of doing: int? number = null; int result = number == null ? 0 : number; You can now just do: int result = number ?? 0; It's the null coalescing operator. It was introduced in C# 2. The
这个问题在这里已经有了答案: C#中两个问号在一起意味着什么? 16个答案 它被称为“空合并运算符”,其工作原理如下: 而不是: int? number = null; int result = number == null ? 0 : number; 你现在可以做: int result = number ?? 0; 它是空合并运算符。 它是在C#2中引入的。 表达式a ?? b的结果 如果那不是空的, a ?? b是a ,否则b 。 除非需要,否则b不会被评估。 两件好事: 表达式的整体类型是
Possible Duplicate: What's the point of the var keyword? I'm not asking how it works. I am not asking if it affects performance. I already know those answers. I want to know what inspired the MS C# team to add it to the language in the first place. You don't add frivolous things to a language. There must have been a noteworthy problem it solved. What was/is that problem?
可能重复: var关键字有什么意义? 我不是问它是如何工作的。 我不问它是否影响性能。 我已经知道这些答案。 我想知道什么启发了MS C#团队首先将其添加到语言中。 你不会为一种语言添加轻微的东西。 它一定有一个值得注意的问题解决。 这是什么问题? 我见过的“它解决的问题”最接近的例子是使用匿名类型时的情况,例如: var linqResult = from element in SomeCollection s elect new { element
This question already has an answer here: Use of var keyword in C# 86 answers As suggested by Brad Smith http://www.brad-smith.info/blog/archives/336 :- There seems to be a tendency for some programmers to use var for every variable declaration. Sure, the language doesn't stop you from doing this and, indeed, MSDN admits that this is a “syntactic convenience”… But it also warns quite s
这个问题在这里已经有了答案: 在C#86中使用var关键字的答案 正如Brad Smith所建议的http://www.brad-smith.info/blog/archives/336: - 似乎有一些程序员倾向于为每个变量声明使用var。 当然,这种语言不会阻止你这样做,而且MSDN确实承认这是一种“语法上的便利”......但它也强烈地警告说: 使用var确实至少有可能使您的代码更难以被其他开发人员理解。 因此,C#文档通常只在需要时才使用var。 隐式键入的局部变
Possible Duplicate: Use of var keyword in C# Being relatively new to C# I was wondering the motivation MS had to introduce the var implicit typed variables. The documentation says: An implicitly typed local variable is strongly typed just as if you had declared the type yourself, but the compiler determines the type. Some lines further: In many cases the use of var is optional and is j
可能重复: 在C#中使用var关键字 对C#来说相对陌生,我想知道MS不得不引入var隐式类型变量的动机。 该文件说: 一个隐式类型的局部变量是强类型的,就像你自己声明了类型一样,但是编译器决定了类型。 进一步的一些行: 在许多情况下,var的使用是可选的,只是语法上的便利 这很好,但在我看来,这只会造成混乱。 假设你正在检查这个循环。 foreach (var item in custQuery){ // A bench of code... } 而
Possible Duplicate: Use of var keyword in C# I use resharper in Visual Studio. Every time when I create class instance resharper suggest me to use var instead of exact type of class. Why using var operator more appropriate? ReSharper is suggesting you to use var via a context action. A context action in ReSharper (commonly designated by a pencil icon), much like an intention action in I
可能重复: 在C#中使用var关键字 我在Visual Studio中使用resharper。 每当我创建类实例resharper建议我使用var而不是确切类型的类。 为什么使用var运算符更合适? ReSharper建议您通过上下文操作使用var。 ReSharper中的上下文动作(通常由铅笔图标指定),非常像IntelliJ IDEA中的意图动作,如果您愿意,可以使用,但不以任何方式强制。 这与ReSharper发现的一个快速修复(黄色或红色灯泡)相反,它专门用于解决代
Possible Duplicate: Use of var keyword in C# Hi, I am pretty new in C#, I would like to know the best practices in declaring variables. I know it is possible to use VAR (explicit declaration) or the DataType when declaring a variable (implicit). I would appreciate your opinions thanks I always try to give my variable declarations useful names that describe what they are for, camel-cas
可能重复: 在C#中使用var关键字 嗨,我在C#中很新, 我想知道声明变量的最佳做法。 我知道在声明变量(隐式)时可以使用VAR(显式声明)或DataType。 我会感谢您的意见 我总是试着给我的变量声明提供一些有用的名字,它们描述了它们是什么,骆驼式的,在班级的顶部声明。 大多数人会说使用var是最好的。 它降低了未来维护的复杂性,例如,如果更改特定方法的返回类型,则不必去改变从该方法分配给每个变量的类
This question already has an answer here: Use of var keyword in C# 86 answers The var keyword is compiler feature which allows implicit type declarations - I would opt to use var purely because it's shorter. People will probably say you lose readability using var , however, what makes MyClass myobj = new MyClass() any more readable than var myobj = new MyClass() The only scenario wh
这个问题在这里已经有了答案: 在C#86中使用var关键字的答案 var关键字是允许隐式类型声明的编译器特性 - 我会选择纯粹使用var因为它更短。 人们可能会说你使用var失去了可读性,但是,是什么造成的 MyClass myobj = new MyClass() 比任何更可读 var myobj = new MyClass() 我认为使用显式类型的唯一方法是在声明接口类型时 IMyInterface myobj = new MyClass() 或铸造 MyBaseClass myObj = new MyClass() 再次,
Possible Duplicate: Use of var keyword in C# What's the point of the var keyword? I am a bit confused here in using Implicit typing over Explicit typing. As quoted by MSDN in C# Coding Standards: Use implicit typing for local variables when the type of the variable is obvious from the right side of the assignment, or when the precise type is not important. My question is, when we
可能重复: 在C#中使用var关键字 var关键字有什么意义? 在使用显式类型的隐式输入方面,我有点困惑。 正如MSDN在C#编码标准中引用的那样: 当变量的类型从赋值的右侧明显可见时,或者当精确类型不重要时,对局部变量使用隐式类型。 我的问题是,当我们已经知道底层变量类型时,为什么我们需要在这里使用隐式类型? 什么是优势? 请帮助澄清我的疑问。 以此为例: var q = from c in myCollection s