私は、次のコードを持っている:ReSharperの共変配列変換 - 矛盾修正
private static DataTable MyMethod(DataTable oneColDataTable)
{
DataTable result = new DataTable();
foreach (DataRow row in oneColDataTable.Rows)
{
string[] newRow = row[0].ToString().Split(';'); // [1] Co-variant array conversion when object[]
while (newRow.Length > result.Columns.Count)
{
result.Columns.Add(new DataColumn());
}
result.Rows.Add(newRow); // [2] Co-variant array conversion
}
return result;
}
を私はここに何このコードの機能
は1列でのDataTableを取ることです。そのコラムでは、私はこのような内容を複数の行に持っています: "これは、最初の行" - "これは、もう一つは行です、それはあります。 この情報を分割して、単語をその行の列値として解釈します。 - 問題が
ReSharperのコメントで、「共同バリアント配列変換」について私に警告している[2
Content of my DataTable:
|This|Is|the |first|row | | | |
|This|Is|another|row |that|has|more|words|
共同バリアント配列変換:基本的にはこのように、複数の行を持つテーブルにそれを変換します]。 resharperのAuto-Fixは、コメント行[1]の "string []"を "object []"に変えます。しかし今、それは私にコメント行のための同じ警告を与える[1]。これを自動修正すると、これまでのコードと同じ結果になるので、基本的には非常に厄介なループになります。
私は一般的には怠け者で悪いアプローチだと思っています。しかし、私はこれを修正する他の方法を参照してください。私のコードで何か間違っていますか?警告を無視したり無視したりせずにこれを修正する方法はありますか?
実際にはそうです。 Splitは文字列を返しますが、Rows.Addはオブジェクトの配列だけを受け入れます。 –
私は最新のR#Ultimateでこれを見ています。あなたがSmogenによって記述されているような場合には、あなたは実際にメッセージを受け取ります。どのバージョンのテストをしているのかわからない –
@HimBromBeereテキストを読む必要があります。 2つ目の修正は、最初の型の型を 'object []'に変更します。 – juharr