- 題名: My.Settings で半角スペースを保存すると
- 日時: 2015/03/12 7:04:12
- ID: 32867
- この記事の返信元:
- (なし)
- この記事への返信:
- [32868] Re[1]: My.Settings で半角スペースを保存すると2015/03/12 11:36:20
- ツリーを表示
■No32867に返信(o.sさんの記事) > My.Settings で一個の半角スペースの文字列を保存すると、 > 改行記号と16個のスペースに変換して保存されるようです。 項目値が「 」(半角スペース1個)の場合、config 内の設定が、 <userSettings> <WindowsApplication1.My.MySettings> <setting name="何某" serializeAs="String"> <value> </value> </setting> </WindowsApplication1.My.MySettings> </userSettings> になってしまっているのだと推察します。 > 簡単な対処方法はありますか。 ================================== (案1) Visual Studio の設定画面は用いず、.config を直接編集する。 長所:既存のコードに影響を与えない。 短所:Visual Studio の設定画面を開くと、編集前の状態に戻ってしまう。 ================================== (案2) BASE64 文字列を格納するようにする。 '読み取り TextBox1.Text = Encoding.UTF8.GetString(Convert.FromBase64String(My.Settings.何某)) '編集 My.Settings.何某 = Convert.ToBase64String(Encoding.UTF8.GetBytes(TextBox2.Text)) My.Settings.Save() 長所:.config 側で前後に空白が付与されても、問題なく復元できる。 短所:既存のコードに修正が必要となる。 ================================== (案3) データ型を String 以外の型にする。(Type="System.Char" 案) 『My.Settings.何某 の型を As String から As Char に変更』 長所:config ファイルの可読性が維持できる。 短所:「一文字」しか管理できない。(2文字以上や文字数0の保持には向かない) ================================== (案4) データ型を String 以外の型にする。(Type="System.Char[]" 案) 『My.Settings.何某 の型を As String から As Char() に変更』 長所:既存のコードへの影響が少ない。 長所:Visual Studio の設定画面を開きなおしても、編集結果が崩れることは無い。 短所:config ファイルの可読性が悪化する。 VB は、Char 配列と String をほぼ同等に扱えるようになっているため、 設定情報を Char の一次元配列型に変更しておけば、 '読み取り TextBox1.Text = My.Settings.何某 や '編集 My.Settings.VS2008 = TextBox1.Text My.Settings.Save() などといったコードは、そのまま無加工で扱えます。 ただし、.config 側の保持形式は <ArrayOfChar> に変更されます。 ==================================
分類:[.NET]
My.Settings で一個の半角スペースの文字列を保存すると、
改行記号と16個のスペースに変換して保存されるようです。
簡単な対処方法はありますか。