是否可能有一个函数,它接受任意数量的任意类型的变量

本文关键字:任意数 任意 变量 类型 有一个 函数 是否 | 更新日期: 2023-09-27 18:16:42

我有一个简单的函数,它接受一个字符串,并发送电子邮件给我与该字符串(该函数在调试一个实时站点时使用)

public void errEmailV1(string strVars)
{
    sendEmail("me@email","emailSubject",strVars);  
}

很自然地调用函数并发送多个变量,我将:

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);  
}

我怀疑它是,但是我的V3是否有可能接受任何数量的字符串,整型和布尔值(我很少发送任何其他类型),而不是总是添加ToString() ?

是否可能有一个函数,它接受任意数量的任意类型的变量

使用params object[]String.Join如何:

Functions funcs = new Functions();
funcs.errEmailV2(someVariableThatisAString, someIntVariable);
public void errEmailV2(params object[] paths)
{
    string strVars= String.Join(", ", paths);
    sendEmail("me@email","emailSubject",strVars);  
}