所以我有这个:
Dim aBoolean As Boolean = True
Run Code Online (Sandbox Code Playgroud)
这样做会有什么不同吗?
Dim aBoolean = True
Run Code Online (Sandbox Code Playgroud)
在其他语言中,我认为为性能或其他东西定义变量的类型是一个好习惯.我对VB.NET并不完全确定.
谢谢.
这可能是一个愚蠢的问题,但我真的不知道原因.
// i is compiled as an int
var i = 5;
// s is compiled as a string
var s = "Hello";
// a is compiled as int[]
var a = new[] { 0, 1, 2 };
// expr is compiled as IEnumerable<Customer>
// or perhaps IQueryable<Customer>
var expr =
from c in customers
where c.City == "London"
select c;
// anon is compiled as an anonymous type
var anon = new { Name = "Terry", Age = 34 …Run Code Online (Sandbox Code Playgroud) 可能重复:
C#'var'与特定类型性能
在性能方面,在linq中使用var或IEnumerable会有什么不同吗?IEnumerable或IQueryable怎么样?我们怎么知道哪一个是IEnumerable,哪一个是IQueryable?例如:在下面的代码中
IEnumerable<CaseTable> test = from x in dataBase.CaseTables
where x.case_id.Equals("12")
select x;
Run Code Online (Sandbox Code Playgroud) 我在VS2010中编写c#并且已经测试了一个名为ReSharper的插件.根据我的经验,我觉得它可以清理代码并简化不必要的逻辑.然而,它在我的代码中找到的主要问题之一是我在初始化变量时.
Resparper建议初始化机智"var"
int i = 0 ----> var i = 0
or...
MyClass1 MyClass = new MyClass(1)
Run Code Online (Sandbox Code Playgroud)
我一直认为使用var有一个轻微的开销,似乎很懒惰或松散的类型(虽然我确实它有一些优势).我一直在努力寻找是否有充分的理由来初始化这样的变量.Reshaper说使用var是一个有争议的问题,但它有很好的扩展用于初始化.有谁知道这可能会或不会是什么?
可能重复:
在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时有帮助,是否真的有助于在其他场景中使用它?
如何将变量添加到我的SQL字符串并成功运行它?我想通过我的C#运行这个声明
protected void RunSQLQuery(string salesman, string connectionString)
{
SqlConnection cnn;
SqlCommand cmd;
StringBuilder sql = new StringBuilder();
SqlDataReader reader;
cnn = new SqlConnection(connectionString);
sql = new StringBuilder();
sql.Append("update database ");
sql.Append("set shippdate = GetDate() ");
sql.Append("where salesman = "' + salesman + "'");
sql.Append("and managerapproval is not null ");
cnn.Open();
cmd = new SqlCommand(sql.ToString(), cnn);
reader = cmd.ExecuteReader();
reader.Close();
cmd.Dispose();
cnn.Close
}
Run Code Online (Sandbox Code Playgroud)
这会出现多个编译错误,强调我的+推销员+代码.错误是:
只有赋值,调用,递增,递减和新对象表达式才能用作语句
; 预期
)预期
字符文字换行符中常量字符太多
我有一个函数,我根据谁是发起者分配变量.
如果角色转向攻击,功能就是这样 Attack(true)
转到这个功能
function Attack(bool CharacterAttacking){
var Attacker = Monster;
var Target = Character;
if (CharacterAttacking)
{
Attacker = Character;
Target = Monster;
}
Run Code Online (Sandbox Code Playgroud)
怪物是默认选中的.
但如果我想切换它以使角色成为我的攻击者if,那么我就会得到错误
无法将Game.Models.Monster类型隐式转换为Game.Models.Character
如何切换它以使攻击者成为角色并且目标成为怪物?
谢谢
var foo1 = new SomeClass();
SomeClass foo2 = new SomeClass();
Run Code Online (Sandbox Code Playgroud)
这两行代码是否转换为相同的IL,dynamic它们与它们有何不同?我知道dynamic使用某种称为后期绑定的技术,但它是如何工作的?