相关疑难解决方法(0)

使用方法:var或对象名称类型?

这是一个问题,在编程时我总是想知道:在编写代码时要使用什么:

var myFiles = Directory.GetFiles(fullPath);
Run Code Online (Sandbox Code Playgroud)

要么

string[] myFiles = Directory.GetFiles(fullPath);
Run Code Online (Sandbox Code Playgroud)

VAR是新的,是一个隐式类型的局部变量,所以我们只能在本地使用,它具有类似的规则不能为空,等等,但我不知道如果我们使用它"正常"的任何优势.

"常"的部分说,不是在匿名类型,对象和集合初始化查询表达式,其中这是使用var匿名对象的意图,所以我的意思是......就像上面的例子.

你的想法是什么?

c# anonymous-objects .net-3.5 c#-3.0

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

为什么var会变坏?

前几天我和同事聊天,听说他们的编码标准明确禁止他们var在C#中使用关键字.他们不知道为什么会如此,我总是发现隐式声明在编码时非常有用.我从来没有遇到任何问题,找出变量是什么类型(你只是将鼠标悬停在VS中的变量上,你会得到那种方式).

有谁知道为什么在C#中使用var关键字是个坏主意?

c# coding-style implicit-typing

48
推荐指数
10
解决办法
1万
查看次数

我为什么要使用隐式类型的局部变量?

当我说

public static IMyType GetGateWayManager()
{
    IUnityContainer _container = GetContainer();
    IMyType _gateWayManager = _container.Resolve<IMyType>();
    return _gateWayManager;
}
Run Code Online (Sandbox Code Playgroud)

它带有警告说Use implicitly types local variable.

如果我改成它

public static IMyType GetGateWayManager()
{
    IUnityContainer _container = GetContainer();
    var _gateWayManager = _container.Resolve<IMyType>();
    return _gateWayManager;
}
Run Code Online (Sandbox Code Playgroud)

没事.

任何人都可以告诉我为什么VS编辑认为最好在这里使用var?

c# resharper visual-studio

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

为什么隐式类型优于显式类型?

C# Coding Conventions 中,当变量的类型从赋值的右侧很明显时,为什么 Microsoft 建议使用隐式类型?

我知道没有必要声明它,因为它很明显,但为什么要提出建议?显式键入不是使代码更易于遵循吗?

var str1 = "This is clearly a string.";
Run Code Online (Sandbox Code Playgroud)

对比

string str2 = "This is clearly a string.";
Run Code Online (Sandbox Code Playgroud)

这有编译时间的好处吗?

c# implicit-typing

5
推荐指数
0
解决办法
1094
查看次数

隐式类型变量

可能重复:
在C#中使用var关键字

对于C#来说比较新,我想知道MS必须引入var隐式类型变量的动机.文件说:

隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型.

进一步说:

在许多情况下,var的使用是可选的,只是语法上的便利

这一切都很好,但在我看来,这只会引起混乱.

假设你正在审查这个for循环.

foreach (var item in custQuery){
    // A bench of code...
}
Run Code Online (Sandbox Code Playgroud)

而不是审查循环的内容和语义,我会花费宝贵的时间来寻找项目的类型!我宁愿选择以下内容:

foreach (String item in custQuery){
    // A bench of code...
}
Run Code Online (Sandbox Code Playgroud)

问题是:我读到隐式类型变量在处理LINQ时有帮助,是否真的有助于在其他场景中使用它?

c# var implicit-conversion

0
推荐指数
1
解决办法
1006
查看次数