Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于java中的标记和重置方法,C#中的等效方法是什么_C#_Java_Stream - Fatal编程技术网

对于java中的标记和重置方法,C#中的等效方法是什么

对于java中的标记和重置方法,C#中的等效方法是什么,c#,java,stream,C#,Java,Stream,我试图转换一个扩展BufferedInputStream类的java类。它使用了标记(1024),我认为这意味着光标将移动到位置1024,最后调用reset()方法。现在我已经将该类更改为从System.IO命名空间中的BufferedStream继承,但我不知道.net中的mark(int)和reset()方法是否有等效的方法 在.NET中没有等效的方法。将当前位置标记为reset应跳转到的位置 但您可以自己实现它们的简化版本: public class YourClass { pri

我试图转换一个扩展BufferedInputStream类的java类。它使用了标记(1024),我认为这意味着光标将移动到位置1024,最后调用reset()方法。现在我已经将该类更改为从System.IO命名空间中的BufferedStream继承,但我不知道.net中的mark(int)和reset()方法是否有等效的方法

在.NET中没有等效的方法。将当前位置标记为
reset
应跳转到的位置

但您可以自己实现它们的简化版本:

public class YourClass
{
    private int _resetPosition;

    public void Mark()
    {
        _resetPosition = Position;
    }

    public void Reset()
    {
        Position = _resetPosition;
    }
}

我认为
Seek
方法和
Position
属性就是您所需要的。你是对的,我将测试它们。现在我使用Seek(1024,SeekOrigin.Begin)而不是mark(1024)。在for和java方法末尾的一些代码之后,它调用reset()。我是否需要设置Position=0而不是rest()方法?