拆分时如何查找数组最大值

布赖恩·托马斯

嗨,我从一个文本框中获取值,并将其拆分为一个数组。然后,我得到的最大值不是说实际值;

这里使用代码

 string[] cwatchers = textBox4.Text.Split('\n');
        string[] sss = textBox1.Text.Split('\n');
        string[] emails = textBox2.Text.Split('\n');

        var sb = new StringBuilder();
        sb.AppendLine("VERSION BUILD=8820413 RECORDER=FX");
        sb.AppendLine("SET !ERRORIGNORE YES");
        sb.AppendLine("SET !TIMEOUT_TAG 3");
        sb.AppendLine("SET !TIMEOUT_STEP 3");
        sb.AppendLine("SET !TIMEOUT_PAGE 7");
        sb.AppendLine("SET !REPLAYSPEED FAST");

        for (int i = 0; i < Convert.ToInt64(cwatchers.Max()); i++)
        {
            sb.AppendLine("TAB T=1").AppendLine("CLEAR");
            sb.AppendLine("URL GOTO=https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&lgout=");
            sb.AppendLine("WAIT SECONDS=1");
            sb.AppendLine("TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:SIGNINFORM ATTR=ID:SUBMIT");
            sb.AppendLine("SET !ENCRYPTION NO");
            sb.AppendLine("TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:SIGNINFORM ATTR=ID:PASS CONTENT=Maths7524");
            sb.Append("TAG POS=1 TYPE=INPUT:TEXT FORM=ID:SIGNINFORM ATTR=ID:USERID CONTENT=").AppendLine(emails[i]);
            sb.AppendLine("TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:SignInForm ATTR=ID:sgnBt");
            sb.AppendLine("WAIT SECONDS=7");
            foreach (string item in sss)
            {
                sb.Append("URL GOTO=www.ebay.com/itm/").AppendLine(item);
                sb.AppendLine("WAIT SECONDS=1").AppendLine("TAG POS=1 TYPE=SPAN ATTR=ID:watchLabel");
                sb.AppendLine("TAG POS=1 TYPE=A ATTR=TXT:Watch").AppendLine("WAIT SECONDS=1").AppendLine();
            }
        }

        label5.Text = cwatchers.Max();

在这里我用detaisl

label5表示最大值为70

正如我们看到的最大值是180 ..有人能告诉我为什么这越来越假吗?

皮科

您首先需要将元素转换为int,因为现在它们是字符串。尝试这样的事情:

label5.Text = cwatchers.Max(x=>int.Parse(x));

这会将所有元素解析为int,然后找到最大值。请注意,如果无法解析任何元素,它将引发异常int

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章