You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#中如何从三个decimal变量中找出最小的两个数?

从三个decimal变量中找出最小的两个数

这里有两种实用的实现方式,根据需求选择即可:

方法一:利用数组排序(简洁直观)

把三个变量存入数组后排序,直接取前两个元素就是最小的两个数:

decimal[] angles = { angle1, angle2, angle3 };
Array.Sort(angles);
decimal firstSmallest = angles[0];
decimal secondSmallest = angles[1];

方法二:手动比较(无额外数组开销)

通过嵌套的Math.Min先找到最小值,再从剩余两个数里找出次小值:

decimal firstSmallest, secondSmallest;

// 确定第一个最小值
firstSmallest = Math.Min(Math.Min(angle1, angle2), angle3);

// 从剩下的两个数中找次小值
if (firstSmallest == angle1)
{
    secondSmallest = Math.Min(angle2, angle3);
}
else if (firstSmallest == angle2)
{
    secondSmallest = Math.Min(angle1, angle3);
}
else
{
    secondSmallest = Math.Min(angle1, angle2);
}

两种方法各有优势:第一种代码量少,后续如果变量数量增加(比如变成4个),修改起来更方便;第二种不需要创建额外数组,逻辑直接,适合追求极致内存简洁使用的场景。

内容的提问来源于stack exchange,提问作者Terrance Chang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:01:15