2017-01-09 1 views
0

設定に複数のint値を追加したいとします。この権利は設定キーの複数のint値C#XML

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<configSections> 
<section name="DigiPortServer1" 
type="Configuration.Helpers.MultipleValuesSelection, Configuration.Helpers" 
requirePermission="false"/> 
</configSections> 

<DigiPortServer1> 
<add key="3" value="3"></add> 
<add key="4" value="4"></add> 
<add key="5" value="5"></add> 
<add key="6" value="6"></add> 
<add key="7" value="7"></add> 
<add key="8" value="8"></add> 
<add key="9" value="9"></add> 
<add key="10" value="10"></add> 
<add key="11" value="11"></add> 
<add key="12" value="12"></add> 
<add key="13" value="13"></add> 
<add key="14" value="14"></add> 
<add key="15" value="15"></add> 
<add key="16" value="16"></add> 
<add key="17" value="17"></add> 
<add key="18" value="18"></add> 
</DigiPortServer1> 
</configuration> 

です: は、これまでのところ、私はこれを持っていますか?私は多くの質問が複数の文字列値を考慮していることを発見しました。これらの値にはどうすればアクセスできますか?これらをint配列などに保存したいと思います。

答えて

0

このようにファイルを変更します。そうすれば、アクセスして作業するのがより簡単になります。あなたが書いてこれらの機能に簡単にアクセスできるようにするにはConfigurationManager.AppSettings["3"].ToString(); ファイルには値に関連付けられたキーがありませんでした。私は価値atributeを追加しました。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<configSections> 
<section name="DigiPortServer1"  
type="Configuration.Helpers.MultipleValuesSelection, Configuration.Helpers" 
requirePermission="false"/> 
</configSections> 

<appSettings> 
<add key="3" value="3"></add> 
<add key="4" value="4"></add> 
<add key="5" value="5"></add> 
<add key="6" value="6"></add> 
<add key="7" value="7"></add> 
<add key="8" value="8"></add> 
<add key="9" value="9"></add> 
<add key="10" value="10"></add> 
<add key="11" value="11"></add> 
<add key="12" value="12"></add> 
<add key="13" value="13"></add> 
<add key="14" value="14"></add> 
<add key="15" value="15"></add> 
<add key="16" value="16"></add> 
<add key="17" value="17"></add> 
<add key="18" value="18"></add> 
</appSettings> 
</configuration> 
+0

ありがとうございます!これは良い見た目ですが、これらの値をint値として使用したいと思います。それを文字列からintに解析する以外の方法はありますか? – Userin2106

+0

シンプルで、文字列としてキャストする代わりに、Convert.ToInt32(ConfigurationManager.AppSettings ["3"]) – NicoRiff

+0

必要なデータ型としてキャストできます – NicoRiff

0

ConfigurationManagerのGetSectionメソッドを使用して、構成セクションの値にアクセスできます。

var section = System.Configuration.ConfigurationManager.GetSection("DigiPortServer1") as System.Collections.Specialized.NameValueCollection; 
     var value = section["keyname"]; 

セクションが名前の値のペアである場合、上記の型(NameValueCollection)でキャストするか、独自の型を使用してキャストできます。

関連する問題