У меня есть код, который перестает работать. Он сам не изменился, но он перестает работать.MemoryStream mystery
Речь идет об использовании memystream для импорта некоторых текстовых данных извне приложения и передачи его вокруг приложения, в результате преобразования текста в строку. Следующий фрагмент кода инкапсулирует проблему:
[TestMethod]
public void stuff()
{
using (var ms = new MemoryStream())
{
using (var sw = new StreamWriter(ms))
{
sw.Write("x,y,z"); //"x,y,z" is usually a line of string data from a textfile
sw.Flush();
stuff2(ms);
}
}
}
void stuff2(Stream ms)
{
using (var sr = new StreamReader(ms))
{
stuff3(sr.ReadToEnd());
}
}
void stuff3(string text)
{
var x = text; //when we get here, 'text' is an empty string.
}
Я что-то не хватает? «текст» должен иметь первоначальное значение и мистифицировать до сегодняшнего дня всегда, что говорит о том, что то, что у меня есть, является хрупким, но что я делаю неправильно?
ТИА
ли вы пытаетесь сбросить «Position» в 0 вашего потока памяти после записи в него? –
Возможно, вы имели в виду «MemoryStream Misery» :-P – Steven