Я столкнулся со странной проблемой.Мое приложение было локализовано для поддержки 5 языков.Это приложение типа календаря, и у меня есть возможность писать заметки на определенную дату.Поэтому, когда я изменяю свои языковые настройки на русский, введите заметку о дате, например, 1/3/2012 и 6/3/2012.Эта дата и примечание сохраняются в IsolatedStorageFile
, и я выхожу из приложения.
Теперь я изменяю свои языковые настройки на английский, а примечания сохраняются в 3/1/2012 и 3/6/2012,Месяц и дата поменялись местами!:(
Вот как я записываю заметки в файл
using (IsolatedStorageFileStream fileStream = storagefile.OpenFile("NotesFile", FileMode.Open, FileAccess.ReadWrite))
{
StreamWriter writer = new StreamWriter(fileStream);
for (int i = 0; i < m_noteCount; i++)
{
writer.Write(m_arrNoteDate[i].ToShortDateString());
writer.Write(" ");
writer.Write(m_arrNoteString[i]);
writer.WriteLine("~`");
}
writer.Close();
}
Чтение из файла выполняется следующим образом
if (notes.Substring(i, 1) == " ")
{
m_arrNoteString[count] = notes.Substring(i + 1);
string temp = notes.Substring(0, i);
m_arrNoteDate[count] = DateTime.Parse(temp);
count++;
nextCharacter = (char)reader.Read();
notes = "";
break;
}
парсер читает дату вотформатировать в соответствии с языком, на котором установлено устройство? Любые обходные пути?