在Visual Studio 2008中,如果我有一长串代码,我怎样才能将其分解为多行?
public static void somemethod(param1, param2, param3, more params etc...)
如何使这1行代码跨越2行或3行?
答案 0 :(得分:30)
点击回车键。
public static somemethod(param1,
param2,
param3,
more params etc...)
......完全有效。
答案 1 :(得分:13)
C#不是基于行的,因此您可以将语句拆分到标识符内的任何位置:
public static void somemethod(
int param1,
int param2,
int param3,
more params etc...
)
你甚至可以写下这样的东西:
for
(
int
i
=
0
;
i
<
10
;
i
++
)
{
Console
.
WriteLine
(
i
)
;
}
答案 2 :(得分:8)
要破坏字符串,您可以在VB.Net和C#中的休息处放置_
,然后将@
放在字符串之前。
C#中的代码:
string s=@"sdsdsdsd
dfdfdfdfdf
fdfdfdfdf";
VB中的代码
s="fdfdfdfdfdf _
dfdfdfdfdfdf "
答案 3 :(得分:4)
您有几个选择:
^.^120
编辑:看到明确的答案 - 我宁愿认为那部分是已知的。 :○
答案 4 :(得分:2)
你的意思是你是如何自动或手动完成的?有些工具如Resharper具有“包装”长行代码的功能。如果您想手动执行此操作,只需在不在标识符中间的任何位置按Enter键。
答案 5 :(得分:2)
C#不需要任何行继续符(基本的方式)。只需在该行的任何位置插入换行符即可。
public static somemethod(type param1,
type param2,
type param3)
{
}
工作得很好。
如果你看一下linq和流畅的界面样本,你会看到一些惯用的方法来打破长线:
builder
.AddSomething()
.If((z) => z.SomeCondition)
.AddSomethingElse();
答案 6 :(得分:0)
可接受的答案提供了一种将行划分为多行的方法,但是我只是想添加它;分界线如何提高可读性。我们要遵循的只是选择问题。
我不尝试遵循的内容,因为我发现将参数与函数名称区分开来有点困难。
// Arguments on first line forbidden when not using vertical alignment.
var a = someObject.LongFunctionName("csharp", "value 1", "value 2"
OtherFunction(val1, val2))
// Further indentation required as indentation is not distinguishable.
public void MyFunction(
value1, value2,
Value3,
value4)
{
//..
}
// Further indentation required for parameters.
public void MyFunction(
value1, value2, Value3, value4)
{
//..
}
我通常追求的目标
// Aligned with opening delimiter.
var a = someObject.LongFunctionName("csharp", "value 1", "value 2"
OtherFunction(val1, val2))
// Aligned with opening delimiter.
public void MyFunction(value1, value2, value3,
value4)
{
//..
}
// Add a tab spaces (an extra level of indentation) to distinguish arguments from the rest.
public void MyFunction(
value1, value2, value3,
value4)
{
//..
}
var a = someObject.LongFunctionName(
"csharp", "value 1", "value 2"
OtherFunction(val1, val2));
最后,如果有任何疑问,请使用最合适的判断。