C# 有没有可能有一个函数可以接受任意数量的任意类型的变量?
我有一个简单的函数,它接受一个字符串并用该字符串向我发送电子邮件(该函数用于调试实时站点) 当然,要计算函数并发送多个变量,我会:C# 有没有可能有一个函数可以接受任意数量的任意类型的变量?,c#,asp.net,C#,Asp.net,我有一个简单的函数,它接受一个字符串并用该字符串向我发送电子邮件(该函数用于调试实时站点) 当然,要计算函数并发送多个变量,我会: Functions funcs = new Functions(); funcs.errEmailV1(someVariableThatisAString+", "+someIntVariable.ToString() +"..."); 我后来改进了我的函数,以便能够更快地调用它 Functions funcs = new Functions(); funcs.e
Functions funcs = new Functions();
funcs.errEmailV1(someVariableThatisAString+", "+someIntVariable.ToString() +"...");
我后来改进了我的函数,以便能够更快地调用它
Functions funcs = new Functions();
funcs.errEmailV2(someVariableThatisAString,someIntVariable.ToString());
public void errEmailV2(params String[] paths)
{
string strVars="";
//a rather simplified version of the loop:
for (int i = 0; i < paths.Length; i++)
{
strVars+= paths[i];
}
sendEmail("me@email","emailSubject",strVars);
}
Functions funcs=新函数();
funcs.errEmailV2(someVariableThatIsString,someIntVariable.ToString());
public void errEmailV2(参数字符串[]路径)
{
字符串strVars=“”;
//循环的一个相当简化的版本:
for(int i=0;i
我对此表示怀疑,但我的V3是否可以接受任意数量的字符串、整数和布尔值(我很少发送任何其他类型的字符串),而不必总是添加
ToString()
?使用params object[]
和:
嗯,
params object[]
就像string.Format
使用什么?(然后使用string.Join
而不是现有的循环)我本来打算使用扩展方法,但是@jonskeetanswer看起来更干净。这一点也不奇怪:)Jon Skeet的答案在comment@LiquidCore,您不必是Jon Skeet就可以建议参数对象[]
。在这种情况下这很明显。你知道的越多越好,谢谢!我无法编辑你的答案(因为我需要再加6个字符),但你在最后一行的第二行缺少了第三个括号。@LiquidCore实际上它不是一个简单的副本,而是属于注释的代码。@HimBromBeere哦哇,你添加了“object”和“.ToString()”这是一项艰苦的工作
Functions funcs = new Functions();
funcs.errEmailV2(someVariableThatisAString,someIntVariable.ToString());
public void errEmailV2(params String[] paths)
{
string strVars="";
//a rather simplified version of the loop:
for (int i = 0; i < paths.Length; i++)
{
strVars+= paths[i];
}
sendEmail("me@email","emailSubject",strVars);
}
Functions funcs = new Functions();
funcs.errEmailV2(someVariableThatisAString, someIntVariable);
public void errEmailV2(params object[] paths)
{
string strVars= String.Join(", ", paths);
sendEmail("me@email","emailSubject",strVars);
}