gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:17:49 25 4
gpt4 key购买 nike

我打算编写一个 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 string Join(this string[] me, string separator) {
//TODO: add parameters' validation

return Join(me, separator, 0, me.Length - 1);
}

public static string Join(this string[] me, string separator, int start_index) {
//TODO: add parameters' validation

return Join(me, separator, start_index, me.Length - 1);
}

public static string Join(this string[] me, string separator, int start_index, int end_Index) {
//TODO: implement logic here
}

关于c# - 是否可以在 C# 方法中引用先前的参数作为参数默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com