我必須打開檔案并使用該檔案中的值繪制圖形。我只能使用 openfiledialog() 打開檔案,選擇檔案并在 Richtextbox 中顯示值。我不確定如何分離 xy 值。

分離 x、y 和繪圖的最佳方法是什么?
uj5u.com熱心網友回復:
這取決于繪圖圖所需的庫。但是如果你需要用其他一些分隔符替換空格,你可以這樣做
listOfValues = File.ReadAllLines("pathToFile.extension");
var formattedValues = new List<string>(listOfValues.Count);
listOfValues.ForEach(x =>
{
formattedValues.Add(x.Replace(' ', yourCustomStringSeparator))
}
uj5u.com熱心網友回復:
這是獲取IEnumerable<(double x, double y)>包含您的坐標的快速方法,其中filename.txt包含您的資料的檔案的名稱:
var coordinates = File.ReadAllLines("filename.txt")
.Select(line => line.Split(' '))
.Select(line => (x: double.Parse(line[0]), y: double.Parse(line[1])));
請注意,這不考慮決議錯誤、空行等。您希望使其對“生產質量”代碼更加健壯。
從這里開始,您將在某種程度上依賴于您的圖表庫所期望的內容。這個 SO 答案可能有助于提供更多資訊,盡管它已經有幾年的歷史并且可能不再相關。
uj5u.com熱心網友回復:
String.Split()和Double.Parse()來救援:
// Prepare some sample data
string sample="34.200250 85.0\r\n34.0202750 97.0";
// Get a culture that matches the input format
CultureInfo usCulture = new CultureInfo("en-US");
NumberFormatInfo decimalDotFormat = usCulture.NumberFormat;
// Split the whole data to get individual lines
foreach(string line in sample.Split(new[]{"\r","\n"}, StringSplitOptions.RemoveEmptyEntries))
{
// Split the line again to get X and Y
var values = line.Split(new[]{" "}, StringSplitOptions.RemoveEmptyEntries);
double x = double.Parse(values[0], decimalDotFormat);
double y = double.Parse(values[1], decimalDotFormat);
// draw using x and y
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/352163.html
上一篇:c#如何在表單之間交換
