【问题标题】:How to match two values in an array?如何匹配数组中的两个值?
【发布时间】:2014-06-23 13:03:13
【问题描述】:

我有一个记事本,数值如:

1 2
2 3
3 4
4 5
5 6
6 7

然后我做了第一列的最大值和最小值,现在我想要位于最大值和最小值前面的值并将它们放在一个文本框中。

最大值和最小值的代码在这里:

     public double calculaMaximo ()
     {
         for (int k = 0 k <array3.Length / 2, k + +)
         {
             if (array3 [k, 0]> Max)
             {
                 Array3 = Max [k, 0];
             }
         }
         tb_maxf.Text Max.ToString = ();

         Max return;
     }

     public double calculaMinimo ()
     {
         for (int l = 0, l <array3.Length / 2; + l)
         {
             if (array3 [l, 0] <Min)
             {
                 Array3 = min [l, 0];
             }
         }
         tb_minf.Text Min.ToString = ();

         return Min;
     }

【问题讨论】:

  • "notepad" 的意思是:您的 GUI 应用程序中的多行文本字段?
  • 您的代码不完整...... Max 和 Min 定义在哪里?这是一个什么样的数组?也很明显它不会编译,fors 不见了;
  • array3 = new double[lines, columns];
  • 您使用的是哪个 .net 版本?考虑使用 System.Linq 命名空间并使用内置的 Min 和 Max 操作。
  • 我只是放了一段代码,只是为了给你一些建议,我如何使匹配位于最大值和最小值前面的值

标签: c# arrays match


【解决方案1】:

既然可以使用排序字典,为什么还要使用数组?看看这个代码示例:

SortedDictionary<int, int> sd = new SortedDictionary<int, int>();
sd.Add(1, 54);
sd.Add(5, 12);
sd.Add(3, 17);
sd.Add(9, 1);
sd.Add(2, 44);
MessageBox.Show("First: " + sd[sd.Keys.ElementAt<int>(0)].ToString() + "\nLast: " + sd[sd.Keys.ElementAt<int>(sd.Count-1)].ToString());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 2019-07-16
    • 2019-09-02
    • 1970-01-01
    • 2020-07-16
    • 2012-09-08
    • 2023-03-10
    相关资源
    最近更新 更多