1

1 つの DataTable を含むデータセットがあり、そのテーブルには 3 つの列 (Column1、Data、Column2) と複数のデータ行があります。

DataColumn 内で検索する必要がある値のリストと、元の値を置き換える値を含む辞書もあります。

「データ」という名前の列内を検索したい。

次の画像には、元のデータ テーブルと結果の DataTable が、検索と置換が必要なキーと値を含むディクショナリとともに含まれています。

データ表

この操作を実行する最も効率的な方法は何ですか?

4

3 に答える 3

0

シンプルさを追求

foreach (DataRow row in dataSet.Tables[0].AsEnumerable())
{
  string data = row.Field<string>("Data");

  string newData = null;
  if (dict.TryGetValue(data, out newData))
  {
    row.SetField("Data", newData);
  }
}

(プロジェクト参照にSystem.Data.DataSetExtensionsを追加する必要があります)

于 2013-06-27T08:19:23.250 に答える
0

私はそれを次のように扱います:

DataSet ds = new DataSet();
string strNewXmls = ds.GetXml().Replace("AAA", "A++");
System.IO.StringReader srXmlStringReader = new System.IO.StringReader(strNewXmls);
ds.ReadXml(srXmlStringReader, XmlReadMode.IgnoreSchema);

これは迅速かつ簡単な解決策です。これは、DataSet 全体のあらゆる種類のもので行うことができます。

それが役に立てば幸い、

タラグネティ

于 2013-06-27T08:21:28.840 に答える