Vâng, bạn có thể làm điều này để xóa phương pháp của mình;
public string GetLongestString(string str1, string str2)
{
return str1.Length > str2.Length ? str1 : str2;
}
public string GetShortestString(string str1, string str2)
{
return str1.Length > str2.Length ? str2 : str1;
}
string longestString = GetLongestString(string1, string2);
string shortestString = GetShortestString(string1, string2);
Và tái sử dụng nó bất cứ khi nào bạn muốn!
Heck, làm cho nó thậm chí còn mát hơn (trong chế độ co-op với Tim);
public IEnumerable<string> GetLongestStrings(params string[] strings)
{
//returns first string with largest length out of given argumenst
int maxSize = strings.Max(str => str.Length);
return strings.Where(s => s.Length == maxSize);
}
public IEnumerable<string> GetShortestStrings(params string[] strings)
{
//returns first string with shortest length out of given arguments
int minSize = strings.Min(str => str.Length);
return strings.Where(s => s.Length == minSize);
}
Cách sử dụng;
string longestString = GetLongestStrings("str1", "str2", /*...*/ "strN").FirstOrDefault();
EDIT1: Triển khai đầu tiên của tôi không hiệu quả nhất. Như Tim đã đề nghị;
public string GetLongestString(params string[] strings)
{
return strings.OrderBy(s => s.Length).First();
}
public string GetShortestString(params string[] strings)
{
return strings.OrderByDescending(s => s.Length).First();
}
Cách sử dụng;
string longestString = GetLongestString("str1", "str2", /*...*/ "strN");
Nguồn
2015-06-24 14:15:50
'longString = string1.Length> string2.Length? string1: string2; ' –
đúng cách để thực hiện. Một số điều không thể thực sự mang tính thẩm mỹ – xanatos
Tuyệt đối không hiệu quả, nhưng chỉ để cho vui: 'var lst = new [] {string1, string2} .OrderBy (s => s.Length) .ToList(); string shortestString = lst [0]; string longestString = lst [1]; ' –