-2

都市名がたくさんあります。そして、この都市をデバイス データベースに保存したいと考えています。そして、私は隔離されたストレージ設定を使用していますが、隔離されたストレージでは1つの都市しか追加できません.そして、この都市を表示する方法は?

私のC#コードは、都市を保存するためのものです:

if (!setting.Contains("CityDetail"))
            {

                setting.Add("CityDetail", cityname);

                //MessageBox.Show(cityname + "  is successfully added in the favorites");
            }
            else
            {
                cityname = (string)setting["CityDetail"];


                //MessageBox.Show(cityname + "  is allready added in the favorites");
            }
            //setting.Save();
4

2 に答える 2

2

都市のリストを Phone に保存しようとしているようです。その場合は、Local SQL DatabaseまたはXMLを優先することをお勧めします。このようにして、アプリに任意のタイプの永続データを含めることができます。都市のリストまたは複雑なオブジェクトのリストである可能性があります。

詳細については、「ローカル SQL データベース」および「XML ファイルの読み取りと保存」を参照してください 。

(やむを得ない理由により) 分離ストレージ設定に保存する必要がある場合keyは、key-valueペアの一部を動的な値(city1、city2、city3 など)に変更する必要があります。

setting.Add("city1", city1);

And Later すべての都市を取得するには、次のようなループを使用できます

for(int i=0; i<totalCities ; i++)
{
 //prepare key value
String cityNumber = "city" + i;

String cityName = settings[cityNumber].ToString();
//here you get your city name Add it to a list or Array

}       

Number of Cities を Application Settings に保存し、それらを更新して に割り当てる必要があることに注意してくださいtotalCities

編集:

都市の数をアプリ設定に保存します (「totalCities」など): 都市を追加するたびに、このように都市の数を更新します

    void Update()
{    
int presentCities;

//Retrieve present number of cities
presentCities = (string)setting["totalCities"];

//Save updated valu to application setting
Add.Settings("totalCities", presentCities + 1); 

 }

取得するには、使用するだけです(int)setting["totalCities"]

于 2012-09-04T13:10:39.243 に答える