sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

原文链接:
https://www.cnblogs.com/xueyubao/p/11260634.html

C#基础算法题 找出最大值和最小值
找出最大值和最小值
题目要求
输入n个数,n<=100,找到其中最小的数和最大的数

实现代码方案一:

using System;

namespace _1.求最大最小
{
class Program
{
public static int GetMax(int[] numbers)
{
int max = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (max < numbers[i])
{
max = numbers[i];
}
}
return max;
}
public static int GetMin(int[] numbers)
{
int min = numbers[0];
for (int i = 0; i < numbers.Length; i++)
{
if (min > numbers[i])
{
min = numbers[i];
}
}
return min;
}
static void Main(string[] args)
{
string[] temp = Console.ReadLine().Split(' ');
int[] numbers = new int[temp.Length];
for (int i = 0; i < temp.Length; i++)
{
numbers[i] = Convert.ToInt32(temp[i]);
}

        Console.WriteLine("Max = " + GetMax(numbers));
        Console.WriteLine("Min = " + GetMin(numbers));
        Console.ReadKey();
    }
}

}

实现代码方案二:
C# 1-20个数,找到指定的最大数
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20找出第8个最大的数即是:13找出第2个最大的数即是:19找出第9个最大的数即是:12

//using System.Linq;
static void Main(string[] args)
{
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
Console.WriteLine(F(nums, 8));
Console.WriteLine(F(nums, 2));
Console.WriteLine(F(nums, 9));
Console.ReadLine();
}

    static int F(int[] nums, int index)
    {
        var v = nums.Distinct().OrderByDescending(x => x).ToArray();
        return (int)v[index - 1];
    }

int[] array = new int[] { 1, 10, 2, 13, 3, 4, 5, 6, 7, 8, 17, 9, 11, 12, 14, 15, 16, 18, 19, 20 };
Array.Sort(array);
int maxTop8 = 0;
int maxTop9 = 0;
int maxTop2 = 0;
maxTop2 = array[array.Length - 2];
maxTop8 = array[array.Length - 8];
maxTop9 = array[array.Length - 9];

C# Linq获取List列表中某个字段最大值对应的记录

List epList = new List();

方法1:

试了Max()取最大值的方法,但是方法返回的是一个特定的值,而不是对应的一条记录;有些不方便,当然也是可以如下方法实现:

//取出最大值

var maxValue = epList.Max(x => x.value);

//从列表中匹配值等于最大值的第一项

T item = epList .Where(x => x.value == maxValue ).FirstOrDefault();

方法2:

可以换个思路,按数值对列表进行倒序(OrderByDescending()),取倒叙后的第一条记录:

T item = epList.OrderByDescending(x => x.value).FirstOrDefault();

posted on   sunny123456  阅读(1328)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示