如何在StringReader中重置位置以开始String?

sav*_*avi 3 c# stringreader

我有以下代码:

StringReader contentReader = new StringReader(this.dataContent.ToString());
Run Code Online (Sandbox Code Playgroud)

解析我的DataContent后,我需要重置contentReader的poistion以开始字符串.我该怎么做?我在StringReader中没有看到set poistion选项

Mat*_*ann 9

将其设置为StringReader的新实例.我不相信你可以改变现有的位置.

contentReader = new StringReader(this.dataContent.ToString());


Sam*_*Axe 5

另一种选择是将字符串加载到 a 中MemoryStream,然后使用 aStreamReader对其进行迭代。 MemoryStream绝对支持内存流上的位置重置。

String data = "Hello! My name it Inigo Montoya.";
using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(data)))
{
    using (StreamReader reader = new StreamReader(stream))
    {
        // Do your parsing here using the standard StreamReader methods.
        // They should be fairly comparable to StringReader.

        // When all done, reset stream position to the beginning.
        stream.Seek(0, SeekOrigin.Begin);
    }
}
Run Code Online (Sandbox Code Playgroud)