字符串的连接

Concatenating of Strings

我的任务是实现方法返回 string.Contact(str1, str2, str3),但在我观察到的测试用例列表中,其中一些有超过 3 个输入参数(实际上是 4 和 5 ).我不知道我应该写什么算法(因为在 msdn 中我没有看到任何类似的东西)。感谢所有帮助。

我的样本:

   public static string ConcatenateStrings(string str1, string str2, string str3)
    {
        return string.Concat(str1 + str2 + str3);
    }

测试用例代码:

 [TestCase("", "", "", ExpectedResult = "")]
    [TestCase("a", "b", "c", ExpectedResult = "abc")]
    [TestCase("abc", "bcd", "cde", ExpectedResult = "abcbcdcde")]
    public string ConcatenateStrings_ThreeParameters_ParametersAreValid_ReturnsResult(string str1, string str2, string str3)
    {
        // Act
        return ConcatenatingStrings.ConcatenateStrings(str1, str2, str3);
    }

    [TestCase("", "", "", "", ExpectedResult = "")]
    [TestCase("a", "b", "c", "d", ExpectedResult = "abcd")]
    [TestCase("abc", "bcd", "cde", "def", ExpectedResult = "abcbcdcdedef")]
    public string ConcatenateStrings_ThreeParameters_ParametersAreValid_ReturnsResult(string str1, string str2, string str3, string str4)
    {
        // Act
        return ConcatenatingStrings.ConcatenateStrings(str1, str2, str3, str4);
    }

测试用例结果:

使用 params 关键字,您可以将数组传递到您的方法中。

引用https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/params

public static string ConcatenateStrings(params string[] str)
{
    string concat;

    foreach(string s in str)
    {
        concat = string.Concat(concat, s);
    }

    return concat;
}