我々のアプリでは、文字列を使用して列挙値を示す文字値を格納します。 EXのために、テーブル内のセルを整列させるための列挙: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();
が... IVEはこれを試みたが、それは指定されたキャスト有効ではありません言った:
は、ここで私はに頼ってきたものだ
CellAlignment[] cellAlignmentsX = cCellAligns.Cast<CellAlignment>().Select(foo => foo).ToArray();
はあなたに感謝します! LINQの投影とEnum.Parse
を使用して
ありがとう、これは超短いです。列挙型はintに基づいているので、私は明示的に変換することが解析よりも優れていると信じています。 – mdelvecchio