检查方法中的多个字符串参数值是否为空

本文关键字:参数 是否 字符串 方法 检查 | 更新日期: 2023-09-27 18:03:51

如果我有一个类似于

的c#方法
public void MyMethod(object myObject, string s1, string s2, string s3, ...)
{ ... }

,我需要对字符串做一个值检查(if !string.IsNullOrEmpty(var)),而不是遍历每个变量,因为有相当多的if检查,有没有更通用的方法我可以完成这一点?

我希望使用ParameterInfo,直到我发现您无法检索参数的值。我的参数要么是",要么是一个数字(作为字符串)或真/假(作为字符串)的值——这些都将进入web。配置,因此是字符串。方法变量的名称是进入web.config的参数名称。我正在防止将具有null/空值的参数写入web。

现在我对每个方法参数的描述如下,只是为了给你一个格式的概念。

string name, value;
if (!string.IsNullOrEmpty(s1))
{
 name = "s1";
 value = s1;
 /* do stuff */
}
if (!string.IsNullOrEmpty(s2))
{
 name = "s2";
 value = s2;
 /* do stuff */
}
/* too many of these */

检查方法中的多个字符串参数值是否为空

我认为最好传递而不是string1, string2等。类似于字符串数组(string[])。

这样你就可以传递2个参数,或者10000个,你不需要检查,因为在你的数组中,如果你想,你不会包含null;)

编辑:字典胜出

public void MyMethod(object myObject, Dictionary<int, string> yourParams)
{ ... }