亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 c# 上的表單中計算最小和最大計算時遇到問題

在 c# 上的表單中計算最小和最大計算時遇到問題

C#
森欄 2022-11-22 15:16:02
我正在創建一個具有多種功能的學生模塊表單。我在讀取列表框中的最小值和最大值時遇到問題。我已經掙扎了好幾天,非常感謝任何形式的幫助。提前致謝!我嘗試過使用不同的數組,存儲不同的值等。我認為代碼中的問題來自沒有存儲“標記”。但我確信它正在工作,并且相信問題出在 15 中的代碼行中。public int MinMark()        {            int lowest = int.Parse(ModuleData.studentMark[0]);            for (int index = 1; index < ModuleData.studentMark.Count;index++)            {                if (int.Parse(ModuleData.studentMark[index]) < lowest)                 {                    lowest = ModuleData.studentMark.ToString()[index];                }            }            return lowest;到目前為止,我的代碼只是從列表中輸出第一個索引。我已經研究了我所有的講義,并嘗試了我能想到的任何方法來讓它發揮作用。
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

lowest = ModuleData.studentMark.ToString()[index];

是不正確的,會給你字符串中一個字符的 char 值。上面一行所做的是獲取字符串標記,再次將其轉換為字符串,然后index從該字符串中選擇索引處的字符。

相反,您希望字符串作為整數,可以通過以下方式實現

lowest = int.Parse(ModuleData.studentMark[index]);


查看完整回答
反對 回復 2022-11-22
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

lowest = ModuleData.studentMark.ToString()[index];

這一行幾乎肯定是不正確的,因為您要返回集合的字符串表示形式(可能類似于"System.String[]"or "System.Collections.Generic.List'1[System.String]")并按索引從字符串中獲取字符并將該字符隱式轉換為整數。該行可能應該是

lowest = int.Parse(ModuleData.studentMark[index]);

但是,您可以將此方法替換為單個 LINQ 查詢,如下所示:

public int MinMark() => ModuleDate.studentMark.Select(int.Parse).Min();

這會將所有學生分數解析為整數,然后從集合中選擇最小的分數。如果這仍然只返回第一個索引,那么第一個索引可能是您的情況下的最低值,或者該ModuleDate.studentMark字段沒有按您預期的那樣填充。


查看完整回答
反對 回復 2022-11-22
  • 2 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號