如何在C#中为具有多个参数的方法定义断线?
在c#中,当我们编写一个方法来获取例如6个参数时,我们想把参数分成3行,我们怎么能把这些行打断呢 我想你可以简单地添加换行符:如何在C#中为具有多个参数的方法定义断线?,c#,C#,在c#中,当我们编写一个方法来获取例如6个参数时,我们想把参数分成3行,我们怎么能把这些行打断呢 我想你可以简单地添加换行符: private void SomeMethod(int param1, int param2, int param3, int param4, int param5, int param6) { // do something } 在C#中(与VB.NET不同——
private void SomeMethod(int param1, int param2,
int param3, int param4,
int param5, int param6)
{
// do something
}
在C#中(与VB.NET不同——至少到目前为止是如此),在页面的一半处选中“隐式换行符”),几乎可以在代码的任何地方引入换行符。您不需要指定代码语句在下一行继续;这是由语法处理的
如果您在上面声明了一个方法作为我的示例,那么这不会对如何调用它设置任何要求。以下示例均有效:
SomeMethod(1, 2, 3, 4, 5, 6);
SomeMethod(1, 2, 3, 4, 5,
6);
SomeMethod(1
, 2, 3, 4
, 5, 6);
如果我正确理解了你说的话
public void myMethod ( type parameter1,
type parameter2,
.
.
type parameterN)
{
.
.
.
}
你什么意思?像这样
public void MyMethod(int Parameter1, string Parameter2
, long Parameter3, float Parameter4
, double Parameter5, char Parameter6)
{
//Method Functionality
}
您可以使用键盘右侧的ENTER键打断这些行
public void Foo(object Parameter0, object Parameter1,
object Parameter2, object Parameter3,
object Parameter4, object Parameter5)
{
//do stuff
}
6个参数/3行=每行2个参数?虽然我觉得这看起来有点滑稽,因为每条线都有额外的空间
请注意,在C#中,您可以只使用换行符-不需要任何花哨的东西(例如VB的“”)在C#中,您可以在任何参数名称之后(逗号之前或之后)换行。(Microsoft编码风格指南检查器)建议在一行上显示所有参数,或每行显示一个参数-中间不显示任何参数。像这样:
public void Method(int param1, int param2, int param3, int param4, int param5, int param6)
{
}
public void Method(
int param1,
int param2,
int param3,
int param4,
int param5,
int param6)
{
}
但是,不需要遵循这些指导原则,您可以做任何适合您内部风格的事情。如果您指的是布局,则有多种选择,例如:
备选案文1:
public void Foo(int first, int second,
int third, int fourth,
int fifth, int sixth)
备选案文2:
public void Foo(int first, int second,
int third, int fourth,
int fifth, int sixth)
备选案文3:
public void Foo(
int first, int second,
int third, int fourth,
int fifth, int sixth)
备选案文4:
public void Foo
(int first, int second,
int third, int fourth,
int fifth, int sixth)
我个人喜欢选项1,但它有两个缺点:
- 如果更改方法名称,则需要重新布置参数
- 每行没有那么多的空间,因为它已经缩进了一段相当长的距离
如果做不到这一点,我通常会选择2或3。选项4在我看来非常难看。在C#中,您不需要指定任何特定的内容来将一行打断为屏幕上的几行
因此,在vb中有一个类似的方法:
sub someMethod(param1 as String, _
param2 as Integer, _
param3 as Boolean)
doSomething()
end sub
在C中会像这样#
你的问题是关于断行的语法,还是一种在列表中的什么位置断行的方法?第一个问题:sysntax用于断行,特别是当我们要将参数传递给该方法时。我得到的印象是,他来自VB世界,在VB世界中,下划线“\ux”用于断行。在c#中尝试这一点是行不通的,所以他可能不知道该怎么办。我在一些从vb到c的开发人员身上看到过这一点。有趣的是,有时最简单的事情会把一个绊倒。-1将其恢复到0:在3行上需要。其他答案更清楚,并且解释了为什么,不仅仅是给出答案。你可以扩展你的VB.NET注释,说4.0中有一些东西使得换行符通常是多余的(而不仅仅是暗示),如果他有返回键呢?实际上我有“因维”按钮。。。XDIt似乎有些人会把整个功能放在一行,如果他们不是偶尔偶然击中那个东西的话…@Ruben:删除了我的评论。请随意添加一个新的:)这是英语中的标准方式。我永远无法理解为什么人们整天阅读英语写作,然后在编码时,他们想出各种不同的格式来组织文本。在大多数情况下,学习英语。枚举要么全部在同一行This、that和other上完成,要么全部在新行上完成(如项目符号)。函数参数没有理由不遵循该样式。这让我想知道为什么人们要重新设计这些东西。谢谢,你们做得很好。这是完美的,我需要的工具,将自动做到这一点,似乎是无法做到这一点
public void someMethod(string param1,
int param2,
bool param3) {
doSomething();
}