是否可以在C#方法中将以前的参数作为参数默认值引用?

只是一个学习者

我打算编写一种C#扩展方法,使其仅加入特定范围的字符串数组元素。例如,如果我有这个数组:

+-----+  +-----+  +-------+  +------+  +------+  +-----+
| one |  | two |  | three |  | four |  | five |  | six |
+-----+  +-----+  +-------+  +------+  +------+  +-----+
   0        1         2          3         4        5

而且我只想使用,索引2到索引4加入它们three,four,five如果用户不提供开始索引和结束索引,那么我的Join方法将连接所有数组元素。下面是我的方法签名。

public static class StringSplitterJoinner
{
    public static string Join(this string[] me, string separator, int start_index = 0, int end_index = me.Length - 1) {

    }
}

问题在于该参数end_index无法引用第一个参数,me并且会生成错误。我不希望用户总是提供start_indexend_index我希望我的方法具有一些有意义的默认值。在这种情况下,如何解决这个问题?

沃尔夫冈·克莱因史密特

这个怎么样:

public static class StringSplitterJoinner
{
    public static string Join(this string[] me, string separator, int start_index = 0, int? end_index = null)
    {
        if (!end_index.HasValue) end_index = me.Length - 1;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在F#中,是否可以将对可变的默认值的引用作为参数传递?

Python:是否可以从全局名称空间中将变量的参数默认为默认值?

是否可以使用`constexpr`模板变量作为正式模板参数的默认值

是否可以避免传递可选参数的默认值?

是否可以在Java中使用默认值定义方法参数?

函数作为函数参数的默认值

函数作为参数的默认值

swagger对象是否可以在swagger-ui中具有默认值作为参数传递?

设置关键字参数的默认值时,可以引用位置参数吗?

可以在具有默认值(作为可选参数)的参数中分配 const 变量吗?

在 C# 中指定参数属性的默认值

是否可以在C#控制台应用程序中将整数值作为方法参数传递

C#如何将队列参数作为值而不是默认引用传递

如何在C#中将Delegate作为默认参数

如何在C#中将对STATIC方法的引用作为函数参数传递?

是否可以在Spring的@Value批注中将键作为默认值传递

如何使用std :: stoi作为默认值创建std :: function作为方法参数?

我可以使用TimeSpan作为具有默认值的可选参数吗?

PHP:检查是否为null作为参数传递或分配为默认值

在Java语言中使用this.variable作为参数默认值是否有问题?

是否可以将参数的默认值设置为函数的返回值?(TCL)

枚举值作为Haxe中的参数默认值

Powershell:使用 json 中的值作为参数默认值

默认(可选)参数作为引用 c++

Omnet ++:是否可以在omnetpp.ini内部的参数设置中将参数作为值重新调用?

PHP 函数中引用参数的默认值

传递null时,是否可以在非可选参数上使用默认值?

是否可以使用默认值的第一个JavaScript参数?

是否可以在PowerShell中的许多函数调用中为命名参数设置默认值?