我可以定义一个将1或N个字符串值作为参数的方法

时间:2013-02-25 07:54:27

标签: c# .net

我很确定在某些时候我已经读过这篇文章并且我认为它有可能(虽然不太确定但是我不记得如何制作它)。我想创建一个验证方法,可以将take作为参数1或许多字符串,应该根据相同的规则进行验证。 基本上我需要的是这样的事情:

public bool CheckMyStringValues (Strings...)
{
//My common logic for all strings
}

这将在我的基类中,然后从我的子类中调用它,如:

CheckMyStringValues("firstString")
or
CheckMyStringValues("firstString", "secondSTring")
..
and so on...

3 个答案:

答案 0 :(得分:3)

尝试:

public bool CheckMyStringValues(params string[] strings)

答案 1 :(得分:3)

您可以使用params数组:

public bool CheckMyStringValues (params string[] strings)
{
    foreach(string str in strings)
    {
        if(yourCondition)
        {
            return false;
        }
    }
    return true;
}

您可以通过多种方式使用它:

bool result = CheckMyStringValues(); // empty array
result = CheckMyStringValues(null);  // array is null
result = CheckMyStringValues("");    // one empty string in array
result = CheckMyStringValues("firstString"); // one string in array
result = CheckMyStringValues("firstString", "secondString"); // etc ...
result = CheckMyStringValues(new[]{"firstString", "secondString", "thirdString"});

答案 2 :(得分:2)

public bool CheckMyStringValues (params string[] list)
{
}

这将允许您使用CheckMyStringValue("1stString", "2ndString")

调用该方法