[解決済み] アプリケーション設定にint[]配列を格納する方法
質問
C# express 2008 を使って、簡単な Windows Forms アプリケーションを作成しています。私は経験豊富な C++ 開発者ですが、C# と .NET についてはほとんど初心者です。
私は現在、設定デザイナーとこのようなコードを使用して、簡単なアプリケーション設定のいくつかを保存しています。
// Store setting
Properties.Settings.Default.TargetLocation = txtLocation.Text;
...
// Restore setting
txtLocation.Text = Properties.Settings.Default.TargetLocation;
ここで、int 型の配列のどちらかを保存したいと思います (
int[]
) 、あるいは int のリスト (
List< int >
) を設定することができます。しかし、これをどのように行うのかがわかりません。私はドキュメント、stackoverflow、およびgoogleを検索しましたが、これを行う方法についてのまともな説明を見つけることができません。
私が見つけたまばらな例に基づく私の直感では、配列またはリストをラップするシリアライズ可能なクラスを作成する必要があり、その後、設定デザイナーでその型を使用できるようになると思います。しかし、私はこれを行う方法を正確に理解していません。
どのように解決するのですか?
設定ファイルを少し手動で編集する必要がありますが、その後は VS 環境とコードで問題なく動作します。また、追加の関数やラッパーは必要ありません。
問題は、VS では、シリアル化された
int[]
をデフォルトで選択することはできません。
そこで、任意の名前 (例: SomeTestSetting) の設定を作成し、任意の型 (例.
string
をデフォルトで使用します)。
変更を保存します。
プロジェクト フォルダに移動して、テキスト エディタ (たとえばメモ帳) で "PropertiesSettings.settings" ファイルを開きます。または、ソリューション エクスプローラで " -> Properties -> Settings.settings" を右クリックして VS で開き、 "Open With..." を選択して "XML Editor" または "Source Code (Text) Editor" を選択できます。 開いた xml 設定で、設定を見つけます (以下のように表示されます)。
<Setting Name="SomeTestSetting" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
パラメータquot;Type"を
System.String
から
System.Int32[]
. これで、この部分は次のようになります。
<Setting Name="SomeTestSetting" Type="System.Int32[]" Scope="User">
<Value Profile="(Default)" />
</Setting>
変更を保存して、プロジェクトの設定を再度開いてみてください。- SomeTestSettingの型が設定されました。
System.Int32[]
という設定になっており、コード内だけでなく、VS 設定デザイナー (値も) からもアクセスおよび編集が可能になっています。
関連
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する