我还没能通过常规渠道找到这个问题的答案。
在Python中,我可以使用以下函数定义
def do_the_needful(**kwargs):
# Kwargs is now a dictionary
# i.e. do_the_needful(spam=42, snake='like eggs', spanish='inquisition')
# would produce {'spam': 42, 'snake': 'like eggs', 'spanish': 'inquisition' }
我知道.NET有ParamArray
,它产生一系列未命名的参数,类似于Python中的*args
语法........NET有**kwargs
的等价物吗?
1条答案
按热度按时间qzlgjiam1#
因此,不幸的是,没有办法在C#中模拟Python
**kwargs
,在这个过程中你总是会丢失参数名(见下面@alelom的注解)。但是,看起来你要找的是一个变元函数,如果你想知道如何在各种编程语言中实现它,最好是看看Wikipedia page。
因此,根据Wikipedia,在C#和VisualBasic中实现可变参数函数是这样完成的:
其他语言,如C#、VB.net和Java使用不同的方法--它们只允许将相同(超)类型的可变数量的参数传递给变量函数,在方法内部,它们只是被收集在一个数组中。
C#示例
VB.Net示例
'可用于打印:打印间距(1、2、3英寸)