如标题需求,我使用了params关键字,后跟一个string数组, 但是在调用的时候,数组中的元素位置必须与方法中的string数组的元素位置一一对应。这样的话出现的问题就是其他调用者可能一时间不理解该可变参数中的数组的元素位置,对应的是那些实参。这样就有了麻烦。
有没有一种方式:可以实现参数可变,然后多个可变的参数又能有提示,比如说第一个可变参数是学生班级的名称,第二个是班级的ID等等。
请求大神帮忙解答一下。
可以考虑使用缺省参数,参考:谈谈C# 4.0新特性“缺省参数”的实现
缺省参数确实是个好办法, 如我这么写, public stringBuild GetCondtion(string shiftname,classname="",classid="",classAlias="")。那么在方法体中 if(string.isNullOrEmpty)关于班级的筛选添加就不添加到stringbuild中,不知老哥是否是这个想法?
上面的string.isNullOrEmpty未加参数, 不好意思, 参数应该是classid,
@奇妙能力: 是的
你可以搜索一下 C# overload 相关的知识。
或者看看MSDN说的这篇文章
Named and Optional Arguments (C# Programming Guide)
当然,买本《C#从入门到精通》看看可以学到一些光靠搜索学不到的知识。