相关疑难解决方法(0)

使用'var'会影响性能吗?

之前我问了一个问题,为什么我看到这么多的例子都使用了这个var关键字并得到了答案,虽然它只是匿名类型所必需的,但它仍然被用来使编写代码"更快"/更容易和"只是因为".

这个链接("C#3.0 - Var不是Objec")之后,我看到它var被编译成IL中的正确类型(你会在中间的文章中看到它).

我的问题是IL代码使用var关键字take 会有多少(如果有的话),如果在任何地方使用它,它是否会接近于对代码性能有可衡量的水平?

c# variables performance var

223
推荐指数
8
解决办法
10万
查看次数

为什么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万
查看次数

ReSharper和var

可能重复:
为什么ReSharper想要使用'var'作为一切?

我有ReSharper 4.5并且到目前为止发现它非常宝贵,但我有一个顾虑;
它似乎想要隐含每个变量声明(var).
作为一个相对较新的开发人员,在这方面我应该相信ReSharper多少钱?

从Paints Tab Headers的方法中获取以下代码片段.

TabPage currentTab = tabCaseNotes.TabPages[e.Index];
Rectangle itemRect = tabCaseNotes.GetTabRect(e.Index);
SolidBrush fillBrush = new SolidBrush(Color.Linen);
SolidBrush textBrush = new SolidBrush(Color.Black);
StringFormat sf = new StringFormat
{
    Alignment = StringAlignment.Center,
    LineAlignment = StringAlignment.Center
};
Run Code Online (Sandbox Code Playgroud)

Resharper希望我将所有5个改为var.我已经阅读了以下类似帖子,在C#中使用var关键字,但我想从ReSharper的角度来看.

.net resharper implicit

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

如何将DataTable.Select()结果传递给新的DataTable?

我有一个数据DataTable命名dt2.我正在调用它的Select方法来获取一些特定的行.

DataRow[] foundRows;

expression = "parent_id=1";

foundRows = dt2.Select(expression);
Run Code Online (Sandbox Code Playgroud)

如何将Select-method结果传递给新的DataTable- 比如说FilteredData

.net c# datatable

27
推荐指数
3
解决办法
8万
查看次数

Resharper:vars

为什么Resharper希望您将大多数变量更改为var类型而不是代码中的实际类型?

.net c# resharper

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

Resharper是否正确?

我刚刚安装了Reshaper 4.5,它提出了以下建议:

return this.GetRuleViolations().Count() == 0; -- REMOVE this.

new string[] { this.ID.ToString(), this.Registration } -- REMOVE string, MAKE ANONYMOUS TYPE

int i = Method.GetNumber(); -- REPLACE int WITH var
Run Code Online (Sandbox Code Playgroud)

我应该这样做吗?

我认为在某些情况下,它会降低代码的可读性,但会提高性能吗?进行这些更改有什么好处?

谢谢

.net c# coding-style

6
推荐指数
1
解决办法
2900
查看次数

如果你没有声明使用var,为什么resharper默认为警告?

如果你没有声明使用var,为什么resharper默认为警告?

我没有看到这一点?

resharper

2
推荐指数
1
解决办法
2230
查看次数