我的任务是实现返回 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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句