使用 linq .Net 获取数组中的最大字符单词

发布于 2024-10-24 03:19:53 字数 80 浏览 0 评论 0原文

嘿伙计们, 我有一个包含一些元素的数组,现在我想检查数组中最大的元素是哪个,那么 Linq 中的查询可能是什么...

请尽快回复。

hey guys,
i have an array which contains some elements, now i want to check which is the largest element in the array, so what could be the query in Linq...

Please reply as soon as possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

起风了 2024-10-31 03:19:53
string[] myArray = { "a", "b", "four" };
string longest = myArray.OrderByDescending(s => s.Length).FirstOrDefault();

...“最长”将等于“四”。

首先,使用 OrderByDescending 对数组进行排序。结果是原始字符串的 IEnumerable,但顺序正确(在本例中按长度降序)。然后,使用现在的顺序 IEnumerable(实际上是 IOrderedEnumerable),获取第一项 - 这是最长的。

注意:我使用“FirstOrDefault”作为良好实践。您可以在这里只使用“First”。如果您不确定结果是否为 null,则应该使用 FirstOrDefault,它将返回第一个元素(如果存在),否则它将返回该 Type 的默认值。对于字符串,它将返回 null,对于 bool,它将返回 false,对于 int,它将返回 0,等等。在这种情况下,仅使用“First”是 100% 安全的,因为您知道字符串数组不为 null 。

string[] myArray = { "a", "b", "four" };
string longest = myArray.OrderByDescending(s => s.Length).FirstOrDefault();

...and "longest" will be equal to "four".

First, use OrderByDescending to sort the array. The result is an IEnumerable of the original strings but in the correct order (in this case descending by length). Then, using the now order IEnumerable (really an IOrderedEnumerable), take the first item - which is the longest.

Note: I use "FirstOrDefault" as good practice. You could have just used "First" here. If you are unsure whether or not your result will be null, you should use FirstOrDefault which will return the first element if it exists, otherwise it will return the default value of that Type. For a string it would return null, for a bool it would return false, for an int it would return 0, etc. In this case it is 100% safe to just use "First" instead since you know your string array is not null.

不回头走下去 2024-10-31 03:19:53

或者,如果您像我一样懒并且喜欢尽量减少打字,则可以使用 Max。 :)

string longest = myArray.Max();

Alternatively, you can just use Max if you are lazy like me and prefer to keep typing to a minimum. :)

string longest = myArray.Max();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文