在Visual Studio 2008中打破长代码行

时间:2009-08-11 22:26:45

标签: c#

在Visual Studio 2008中,如果我有一长串代码,我怎样才能将其分解为多行?

public static void somemethod(param1, param2, param3, more params etc...)

如何使这1行代码跨越2行或3行?

7 个答案:

答案 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)

您有几个选择:

  1. 工具&gt;选项&gt;所有语言&gt;一般&gt;启用Word Wrap
  2. 在“查找文件”对话框中使用以下正则表达式查找项目中的长行(本例中为120个字符),以便分割它们。
    ^.^120
  3. 编辑:看到明确的答案 - 我宁愿认为那部分是已知的。 :○

答案 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));

最后,如果有任何疑问,请使用最合适的判断。