我需要將一個變數設定為 3 個其他變數的平均值,這些變數是數字,但它們被設定為字串。我該怎么做呢?我正在使用 c#、Visual Studio、Windows 表單。
我試圖設定的變數稱為skiTime,我用來獲取平均值的變數稱為skiTime1、skiTime2 和skiTime3。
基本上我需要 c# 版本:skiTime = (skiTime1 skiTime2 skiTime3) / 3
我開始的代碼(宣告?我不知道要使用的詞)變數
List<string> skiTime1 = new List<string>();
List<string> skiTime2 = new List<string>();
List<string> skiTime3 = new List<string>();
string skiTime
我設定變數值的代碼:
using (StreamReader sr = new StreamReader("pupilSkiTimes.txt"))
{
string line = "";
while ((line = sr.ReadLine()) != null)
{
string[] components = line.Split("~".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
skiTime1.Add(components[2]);
skiTime2.Add(components[3]);
skiTime3.Add(components[4]);
}
sr.Close();
}
我需要在資料網格視圖中顯示skiTime1、skiTime2 和skiTime3,所以如果我沒記錯的話,我認為它們需要是字串。skiTime 將僅用于另一個計算,因此也許可以將其轉換為 int。我真的不知道我在做什么,只是因為教程,幫助才走到這一步。
如果這個問題太混亂或沒有足夠的資訊,我可以發布整個代碼。
uj5u.com熱心網友回復:
public string CalculateAverage(List<string> skiTime1, List<string> skiTime2, List<string> skiTime3)
{
List<string> allValues = new List<string>();
allValues.AddRange(skiTime1);
allValues.AddRange(skiTime2);
allValues.AddRange(skiTime3);
float totalcount = 0;
float average = 0;
foreach (var value in allValues)
{
totalcount = totalcount float.Parse(value);
}
average = totalcount / allValues.Count();
return average.ToString();
}
回傳平均值的函式現在呼叫您需要的函式,例如:
string skiTime = CalculateAverage(skiTime1, skiTime2, skiTime3);
uj5u.com熱心網友回復:
您需要決議strings然后decimals計算平均值:
List<decimal> avgTime = new List<decimal>();
for (var i = 0; i < skiTime1.Length; i ) {
var avg = (decimal.Parse(skiTime1[i]) decimal.Parse(skiTime2[i]) decimal.Parse(skiTime3[i])) / 3;
avgTime.Add(avg);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/452658.html
上一篇:如何將內容分配到中心?
