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

本文关键字:参数 方法 字符串 一个以 定义 我可以 | 更新日期: 2023-09-27 18:01:11

我很确定在某个时候我读过这篇文章,我认为这是可能的(虽然不太确定(,但我记不起如何实现。我想创建一个验证方法,它可以将1或多个字符串作为参数,这些字符串应该根据相同的规则进行验证。所以基本上我需要的是这样的东西:

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

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

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

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

尝试:

public bool CheckMyStringValues(params string[] strings)

您可以使用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"});
public bool CheckMyStringValues (params string[] list)
{
}

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