Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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
BinaryReader读取值列表C#_C#_Binary_Binaryreader - Fatal编程技术网

BinaryReader读取值列表C#

BinaryReader读取值列表C#,c#,binary,binaryreader,C#,Binary,Binaryreader,我试图理解二进制阅读器在C#中是如何工作的。 但它如何适用于列表我想问一个解释 我遵循以下文件: 文档说明网格面列表存储在属性中: property list int int vertex_index 我相信这意味着存在面列表,其中第一个整数是每个面的顶点数,其他属性表示顶点索引。如何检索这个列表是我的问题 这里我有一个功能: private static DataBody ReadDataBodyBinary(DataHeader header, BinaryReader reader)

我试图理解二进制阅读器在C#中是如何工作的。 但它如何适用于列表我想问一个解释

我遵循以下文件:

文档说明网格面列表存储在属性中:

property list int int vertex_index 
我相信这意味着存在面列表,其中第一个整数是每个面的顶点数,其他属性表示顶点索引。如何检索这个列表是我的问题

这里我有一个功能:

private static DataBody ReadDataBodyBinary(DataHeader header, BinaryReader reader) {

            for (int i = 0; i < header.faceCount; i++) {
                //how can I retrieve the face list here?
            }

}
但这给了我有时是正面的,有时是负面的


通过阅读

以防有人试图使用C#搜索用于泊松点云重建的二进制ply读取器,使用以下方法:

BinaryReader只能读取BinaryWriter所写格式的文件。这不是那种格式。找到一个可以读取此格式的现有解析器,或者使用您自己的解析器,例如使用
string.Split()
int.TryParse()
。遗憾的是,现在有了用于C和网格的ply reader,这是OpenSource。CodeCaster说的仍然正确,您不想使用BinaryReader读取文本文件,改为使用TextReader逐行读取文件并将其解析为字符串。问题是我需要读取一个二进制文件,而不是.txt或ASCII文件。最后,我完成了。。。
int faceVertex = reader.ReadInt32();