1 つの DataTable を含むデータセットがあり、そのテーブルには 3 つの列 (Column1、Data、Column2) と複数のデータ行があります。
DataColumn 内で検索する必要がある値のリストと、元の値を置き換える値を含む辞書もあります。
「データ」という名前の列内を検索したい。
次の画像には、元のデータ テーブルと結果の DataTable が、検索と置換が必要なキーと値を含むディクショナリとともに含まれています。

この操作を実行する最も効率的な方法は何ですか?
1 つの DataTable を含むデータセットがあり、そのテーブルには 3 つの列 (Column1、Data、Column2) と複数のデータ行があります。
DataColumn 内で検索する必要がある値のリストと、元の値を置き換える値を含む辞書もあります。
「データ」という名前の列内を検索したい。
次の画像には、元のデータ テーブルと結果の DataTable が、検索と置換が必要なキーと値を含むディクショナリとともに含まれています。

この操作を実行する最も効率的な方法は何ですか?
シンプルさを追求
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を追加する必要があります)
私はそれを次のように扱います:
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 全体のあらゆる種類のもので行うことができます。
それが役に立てば幸い、
タラグネティ