【发布时间】:2014-06-19 19:41:28
【问题描述】:
我是 C# 的业余爱好者;我正在尝试将 VB.Net 的这个功能转换为 C#...
<EditorBrowsable(EditorBrowsableState.Always)> _
<Extension()> _
Public Function mc_GetMaxLengthValue(ByVal Values() As String) As String
mc_GetMaxLengthValue = ""
If Values.Count > 0 Then mc_GetMaxLengthValue = Values.OrderByDescending(Function(Value) Value.Length).First
End Function
我不知道如何转换OrderByDescending(Function(Value) Value.Length)。
就功能而言,我想获得数组中的最大长度。例如:{“123456”、“123”、“1234”}。我想得到“123456”(最长的字符串)。
【问题讨论】:
-
我强烈建议您阅读 C# 中的 LINQ 教程。它将以一种结构良好的方式回答这个问题以及更多很多。 (如果不出意外,请查看 MSDN 中 OrderByDescending 的示例代码。)
-
到目前为止您尝试过什么,您尝试的解决方案遇到了什么问题?
-
您是否尝试阅读文档? msdn.microsoft.com/en-us/library/…
-
@MiBol 但您的 vb 代码返回最长的字符串,而不是它的长度。这就是我问它的原因。你甚至不知道它的作用。如果是这样,答案将是
Values.Max(x=>x.Length) -
@MiBol 为什么你需要一个你不知道是做什么的函数?