我有以下内容:
List<decimal> results = new List<decimal>();
...
result.Add(...);
...
Console.WriteLine($"Maximum gain: {gains.Max():f6} (#{results.IndexOf(gains.Max()) + 1})");
Console.WriteLine($"Maximum loss: {Math.Abs(losses.Min()):f6} (#{results.IndexOf(losses.Min()) + 1})");
IndexOf仅查找第一个索引。如果有多个索引,我想显示所有索引。
具有多个最大索引的示例:
Maximum gain: 0.000700 (#15, #44)
具有一个索引的示例:
Maximum gain: 0.000700 (#13)
首先,我将最大值拉到一个变量中,该变量可用于将获得索引的Linq查询中。然后使用它创建一个格式化的字符串列表,以在输出到控制台的字符串中使用。
var maxGain = gains.Max();
var maxIndexes = string.Join(
", ",
results.Select((r,i) => new { Result = r, Index = i })
.Where(x => x.Result == maxGain)
.Select(x => $"#{x.Index +1}"));
Console.WriteLine($"Maximum gain: {maxGain:f6} ({maxIndexes})");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句