基本的にBest Way Of Saving Lists in App.Config
であなたのapp.configファイルにリスト(または任意のカスタムオブジェクト)を格納するの良い資料では、データを表すオブジェクトを作成し、そこです。
public class MyConfig
{
public string[] myList;
public string someOtherValueIfYouWant;
}
そして、それのためのコンフィグハンドラを作成...
public class ConfigSectionHandler : IConfigurationSectionHandler
{
public const string SECTION_NAME = "MyConfig";
public object Create(object parent, object configContext, XmlNode section)
{
string szConfig = section.SelectSingleNode("//MyConfig").OuterXml;
MyConfig retConf = null;
if (szConfig != string.Empty || szConfig != null)
{
XmlSerializer xsw = new XmlSerializer(typeof(MyConfig));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szConfig));
ms.Position = 0;
retConf = (MyConfig)xsw.DeSerialize(ms);
}
return retConf;
}
}
そして、これはあなたのapp.configファイルに次のXMLを配置することができます...
アプリを教えてください。あなたのクールconfigセクション
<configSections>
<section name="MyConfig" type="ConfigSectionHandler,someAssembly" />
</configSection>
そして追加configセクションに関する設定...
<MyConfig>
<myList>First one</myList>
<myList>Second one</myList>
<myList>Keep going</myList>
<myList>And so on</myList>
<someOtherValueIfYouWant>some non array config</someOtherValueIfYouWant>
</MyConfig>
は
コンマ区切りのリストはパフォーマンスにどのような影響を与えますか?以前は設定ファイルにカンマで区切った文字列を使用していましたが、パフォーマンス上の問題は気になりませんでした。 – Tim
@Tim - おそらくこれのドライバではないが、161項目の場合、コンマ区切りのリストはapp.configファイルの最も洗練された解決策ではないと私は同意します。 app.configがXMLであり、とにかくデシリアライズされるとすれば、データをXML内に格納するほうがはるかにいいです。 – Fenton