我正在阅读this sample code并在向List
myList.Add(item);
{
//some code
}
我想知道为什么使用这个以及有什么兴趣?
在链接的示例代码中,Graph
方法中的相关类CreateEdge
是此方法的摘录:
edge.SourceVertex.Neighbours.Add(edge.TargetVertex);
{
var key = GetKey(edge.SourceVertex.ID, edge.TargetVertex.ID);
if (!mEdges.ContainsKey(key))
{
mEdges.Add(key, edge);
}
else if (mEdges[key].Cost > edge.Cost)
{
mEdges[key] = edge;
}
}
答案 0 :(得分:2)
正如您提到的语句“myList.Add(item);
”和分支“{}”是不同的意思。我们
不应该相互关联。如何无法访问代码内的代码
外部code.only那个案例分支是使用full.we可以说信息隐藏在一边
我希望这对你有所帮助。
var tag = new Tag()
{
Id=1
};
var tags = new List<Tag>();
tags.Add(tag);
{
var t = tag; `//scope of t only accessible inside the branch.`
}
tags.Add(t);`//This will cause error.`
在上述情况下,t不能从分支机构外部访问。
答案 1 :(得分:1)
这是两个单独的陈述。
myList.Add(item); // Adds a new item to a list.
{
// some code that always run (no conditional statement ("if", "while", etc.))
}
您通常希望通过条件来看待它:
if (someVariable = someValue)
{
// some code
}
或者作为要添加到列表中的项目的对象初始值设定项:
myList.Add(new Item
{
somePropertyInItem = 5;
});
答案 2 :(得分:1)
它什么都不做。
{
和}
定义范围。悬挂范围完全有效。它与添加到列表中的行分开。
答案 3 :(得分:1)
{
和}
与mylist.Add(item);
无关,因为最后有;
符号。 (顺便说一下,我不知道自己的正确名称,是空白运算符还是什么?)。它是一个分隔符(命令?操作数?),有时候它可以作为一种nop
(什么都不做)自己使用,例如,如果在循环条件中已经执行了所有需要的循环。 / p>
如果是
mylist.Add(item)
{
}
然后它们会相关(虽然这是一个语法错误),正如Grand Winney回答的那样,更有可能通过if
,switch
,while
之类的运算符看到这一点,实例化类等。可能缺少哪些(图书打印错误?)。
正如Simon Whitehead回答的那样,{
和}
将定义一个范围。事实上,它本身在代码中很有用(尽管人们很少使用它)。
使用范围本身的一个例子是拥有更多本地变量(隐藏在范围内)。
{
var i = 123;
// do something with i
}
{
var i = 123; // can be declared without error
// do something with i
}
// error
i++;