>>468 SettingConverter.cs:ArrayListConverter<T>:ConvertTo()において配列をコンマテキスト化
していて、そのため文字列中のコンマをEscape()を使って「\」を付加し、
読み込み時に「\」の先行しないコンマを区切りとして配列を復元しています。
が。付加した「\」を取り除いていないため「\」が無限増殖します。
さらに、配列内文字列(の最後の文字)が「\」だと区切り文字としてみなされなくなり
次の文字列と合体してしまいます。
private string Escape( string s )
{
// NTwin23.103
s = s.Replace( @"\" , @"\\" ); // まず「\」をエスケープしておいて
s = s.Replace( "," , @"\," ); // 「,」(コンマ)をエスケープ
//// コロンをエスケープしていく
//int startIndex = 0 , token = -1;
//while ( (token = s.IndexOf( ',' , startIndex )) >= 0 )
//{
// s = s.Insert( token , "\\" );
// startIndex = token + 2;
//}
//// NTwin23.103
return s;
}
つづく