7
A
回答
19
没有什么相当相当,但C#3获得了建筑设置属性的能力:
var person = new Person { Name = "Jon", Age = 34 };
和集合:
var people = new List<Person>
{
new Person { Name = "Jon" },
new Person { Name = "Holly"}
};
这绝对不是的全部的使用With
,但值得了解其中的一些。
14
C#没有任何等价语法。最接近的是对象初始化,但他们是不一样的:
var obj = new SomeThing {
Height = 100,
Text = "Hello, World",
ForeColor = System.Drawing.Color.Green
}
1
一个近似等效的方法是调用一个类的成员方法。您不必在类成员内重复命名拥有的对象 - 这是隐含的,因为该函数是一个成员,被称为给定的实例。
我怀疑直接相当于With/End With是C#中的一个好主意,因为这个原因。如果你发现自己在一个给定的范围内反复输入一个对象的名字,这是一个很好的迹象表明,有问题的代码会在该对象的类上制作一个好的方法。
2
没有C#等价于Visual Basic的With
关键字。
6
号
什么接近的对象和列表初始化。
Person p = new Person()
{
FirstName = "John",
LastName = "Doe",
Address = new Address()
{
Street = "1234 St.",
City = "Seattle"
}
};
2
1
在这里阅读更多没有直接等同。正如其他人所解释的那样,您可以在构造上设置属性,也可以将表达式分配给一个带有简短名称的变量。以下内容应该在语义上相同:
With <expression>
.something ...
.somethingElse ...
End With
var w = <expression>;
w.something ...
w.somethingElse ...
4
但是,它绝不是等同的,但是,如果它是您尝试减少的打字,则可以。
{
var o = myReallyReallyReallyReallyLongObjectName;
o.Property1 = 1;
o.Property2 = 2;
o.Property3 = 3;
}
相关问题
- 1. Cocoa中的等效C#'Thread.Join()'是什么?
- 2. 在c#中等效于vb6的kill语句是什么?
- 3. 什么是C编程语句的C#等效代码?
- 4. Spark中此MVC视图代码的等效语法是什么?
- 5. VB.NET中的“yield return”等效语法是什么?
- 6. 什么是此代码的C#等效
- 7. 什么是C#中Java的float.floatToRawIntBits等效方法?
- 8. 什么是Mac的等效“sizeWithFont:”方法?
- 9. 什么,而($行= mysql_fetch_array($结果))的等效语法是“for循环”
- 10. 什么是assert(minitest)等效的RSpec语法
- 11. 英特尔语法是[eax + ebx],什么是AT&T语法等效?
- 12. 什么是“不等于”的F#语法?
- 13. 什么是等效的lambda?
- 14. 什么是int(a)(1)?这是一个有效的c + +语法?
- 15. 这是什么语法? C++
- 16. C++中的(*)语法是什么意思?
- 17. 这是什么意思“scanf(”%[^ \ n]“,buf);” ?它的等价C++语法是什么?
- 18. 为什么这是无效的语法?
- 19. Objective-C中的C#.NET Silverlight等效componentsSeparatedByString是什么?
- 20. 在C#中,int *和long *与objective-c等效的是什么?
- 21. 这个Linq查询的等效C#扩展方法是什么?
- 22. 什么是C#Java的等效主要方法
- 23. c语言中的语法是什么语法作为参数
- 24. 在AS400 DB2 SQL语法中,Oracle的to_char等效于什么?
- 25. DevExpress中RibbonRadioButton的等效项是什么?
- 26. Qt中的等效std :: deque是什么?
- 27. 什么是NodaTime中的System.TimeZoneInfo.IsDaylightSavingTime等效项?
- 28. Dart中Platform.flush()的等效物是什么?
- 29. phpMyAdmin中的等效星号(*)是什么?
- 30. 在java中是否存在C#Type.GetType()的任何等效语法
这是你应该读http://stackoverflow.com/questions/283749/the-vb-net-with-statement-embrace-or-avoid问题 – 2010-11-29 15:34:12
你能来最接近的是真的*简短*变量名称。 ;)对于对象初始化,请参阅Jon Skeet的答案。 – 2010-11-29 15:35:03