我們的應用程序使用一個字符串來容納用來指示枚舉值的字符值。爲前,枚舉用於在表對準細胞:將char數組轉換爲枚舉數組?
enum CellAlignment
{
Left = 1,
Center = 2,
Right = 3
}
和用於表示比對5列的表中的字符串:"12312"
。有沒有一種簡潔的方式來使用LINQ將此字符串轉換爲CellAlignment[] cellAlignments
?
這裏就是我使出:
//convert string into character array
char[] cCellAligns = "12312".ToCharArray();
int itemCount = cCellAligns.Count();
int[] iCellAlignments = new int[itemCount];
//loop thru char array to populate corresponding int array
int i;
for (i = 0; i <= itemCount - 1; i++)
iCellAlignments[i] = Int32.Parse(cCellAligns[i].ToString());
//convert int array to enum array
CellAlignment[] cellAlignments = iCellAlignments.Cast<CellAlignment>().Select(foo => foo).ToArray();
...香港專業教育學院試過,但它說,指定的強制轉換無效:
CellAlignment[] cellAlignmentsX = cCellAligns.Cast<CellAlignment>().Select(foo => foo).ToArray();
謝謝!
謝謝,這是超短的。由於枚舉是基於整數,我相信顯式轉換比解析更好。 – mdelvecchio 2012-03-21 18:18:33