想获取 CryptoStream.Length 的值,可查了msdn后发现这个属性不能用====>msdn:
[CryptoStream.Length 属性]
获取用字节表示的流长度[属性值]
不支持此属性。
[备注]
此属性的存在只是为了支持从 Stream 继承;无法使用此属性。
http://msdn.microsoft.com/zh-cn/library/system.security.cryptography.cryptostream.length(VS.80).aspx
请问还有其他方法可以获取 CryptoStream.Length 的值吗?

解决方案 »

  1.   

    不能的,之所以有这个属性是因为继承了抽象类所致,但是由于自身的特点不支持,类似的类还有NetworkStream.Length属性。
      

  2.   

    可以通过一个循环将其读取到一个可以保存流内容的地方来获取这个长度,如MemoryStream之类的。
      

  3.   

    通过MemoryStream 转化为byte再获取长度
    其他还有FileStream、MemoryStream、BufferedStream、NetworkStream
    Stream 并不能直接操作基元和对象类型,需要将其转换成Byte[]才能进行读写操作。