相关疑难解决方法(0)

在C#中使用var关键字

在与同事讨论了在C#3中使用'var'关键字后,我想知道人们对通过var的类型推断的适当用途有什么看法?

例如,我在可疑情况下懒得使用var,例如: -

foreach(var item in someList) { // ... } // Type of 'item' not clear.
var something = someObject.SomeProperty; // Type of 'something' not clear.
var something = someMethod(); // Type of 'something' not clear.
Run Code Online (Sandbox Code Playgroud)

var的更合理用途如下: -

var l = new List<string>(); // Obvious what l will be.
var s = new SomeClass(); // Obvious what s will be.
Run Code Online (Sandbox Code Playgroud)

有趣的是LINQ似乎有点灰色,例如: -

var results = from r in dataContext.SomeTable
              select r; // Not *entirely clear* what results will be …
Run Code Online (Sandbox Code Playgroud)

c# var type-inference

406
推荐指数
32
解决办法
13万
查看次数

为什么ReSharper想要将'var'用于一切?

我刚刚开始在Visual Studio中使用ReSharper(在关于SO的许多建议之后).为了试一试,我打开了一个最近的ASP.NET MVC项目.我注意到它提出的第一个也是最常见的事情之一是将大多数/所有我的显式声明var改为.例如:

//From This:
MyObject foo = DB.MyObjects.SingleOrDefault(w => w.Id == 1);
//To This:
var foo = DB.MyObjects.SingleOrDefault(w => w.Id == 1);
Run Code Online (Sandbox Code Playgroud)

等,即使采用简单的类型,如int,bool

为什么要推荐这个?我不是来自计算机科学或.NET背景,最近"陷入".NET开发,所以我真的很想了解正在发生的事情以及它是否有益.

.net c# resharper var visual-studio

207
推荐指数
15
解决办法
5万
查看次数

类中的var给出了错误

可能重复:
在方法之外使用var

class A {
string X;
}
// Proper
class A {
var X;
}
// Improper (gives error)
Run Code Online (Sandbox Code Playgroud)

为什么,我不能在类中使用var类型变量声明,为了实现它可以做些什么或者什么是替代?

在函数/方法中,我可以声明一个var类型变量,那么为什么不能,我在课堂上这样做?

谢谢.

.net c# var class visual-studio

14
推荐指数
2
解决办法
2万
查看次数

var与具体类型的使用

我已经在stackoverflow中检查了5个或更多关于var使用的帖子,但我仍然在寻找关于var用法的答案.我习惯使用Concrete类型而不是var,但我的Resharper抱怨改为var.var是类型的选择 - 即使已知具体类型?

c# var

14
推荐指数
3
解决办法
2万
查看次数

var与C#中的对象

可能重复:
C#中"var"和"object"之间的差异

我想知道var和object之间的区别.

何时使用Var以及何时使用Object.

使用它们的利弊.

c#

8
推荐指数
4
解决办法
1万
查看次数

我何时应该使用"var"而不是"object"?

我想知道你var什么时候应该使用?

C#中的几乎任何东西,除了可能是原语和一些更奇怪的情况,都来自Object.

那么使用那些实际类型不是更好的做法吗?或者至少object

(我已经编程了一段时间,我的严格观点是那var是邪恶的)

c# syntax var

4
推荐指数
3
解决办法
5862
查看次数

标签 统计

c# ×6

var ×5

.net ×2

visual-studio ×2

class ×1

resharper ×1

syntax ×1

type-inference ×1