簡體   English   中英

如何驗證列表數組中的列名和計數? C#

[英]how can I validate column names and count in an List array? C#

我正在嘗試在 .NET 2.0 中解決這個問題,不幸的是,這是沒有商量余地的。

我正在讀取一個 csv 文件,其中包含“應該”對應於 IdentA 中的股票行情列表的數據列,並進行了一些修改。 csv 文件 columsn 將顯示:

A_MSFT,A_CSCO,_A_YHOO,B_MSFT,B_CSCO,B_YHOO,C_MSFT,C_CSCO,C_YHOO

IdentA[0]="MSFT"<br>
IdentA[1]="CSCO"<br>
IdentA[2]="YHOO"<br>

The AssetsA array is populated with the csv data<br>
AssetsA[0]=0<br>
AssetsA[1]=1.1<br>
AssetsA[2]=0<br>
AssetsA[3]=2<br>
AssetsA[4]=3.2<br>
AssetsA[5]=12<br>
AssetsA[6]=54<br>
AssetsA[7]=13<br>
AssetsA[8]=0.2<br>

C_ 列是可選的,但如果它們存在,它們都需要存在。 所有后綴必須與 IdentA 中的值匹配。 csv 文件中的值都需要是十進制的。 我使用一組 3 作為示例,IdentA 數組中可以有任意數量的代碼。

做第一部分很容易:

    for (int x = 0; x < IdentA.Count; x++)
    {
        decimal.TryParse(AssetsA[x + IdentA.Count], out currentelections);
    }

所以這將為我提供 A_ 列的第一組值,但我如何才能通過 B_ 和 C_ ? 我不能做像 IdentA.Count*2 這樣簡單的事情...

編輯:在讀取 csv 的第一行時填充 IdentA,在后續行中填充 AssetsA,直到 EOF。 最初的設計者總是假設 B_ 和 C_ 將始終存在,並且數據將“落入原處”。 去看看重新設計它需要什么:(

使用二維數組像這樣遍歷兩個數組

for(int i = 0; i <= twoDeeArr[0].Count-1; i++)
{
     for(int j = 0; j <= twoDeeArr.Count-1; j++)
     {
          decimal.TryParse((decimal)twoDeeArr[i][j], out currentElections);
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM