本文整理汇总了C#中BigEndianBinaryReader.ReadSingle方法的典型用法代码示例。如果您正苦于以下问题:C# BigEndianBinaryReader.ReadSingle方法的具体用法?C# BigEndianBinaryReader.ReadSingle怎么用?C# BigEndianBinaryReader.ReadSingle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigEndianBinaryReader
的用法示例。
在下文中一共展示了BigEndianBinaryReader.ReadSingle方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConstantPoolItemFloat
internal ConstantPoolItemFloat(BigEndianBinaryReader br)
{
v = br.ReadSingle();
}
示例2: ReadConstantPool
ConstantPool[] ReadConstantPool(BigEndianBinaryReader reader)
{
ushort constantPoolCount = reader.ReadUInt16();
ConstantPool[] constantPool = new ConstantPool[constantPoolCount];
//Console.WriteLine("Reading {0} ConstantPool items", constantPoolCount);
// JVM Spec 4.1.
// The value of the constant_pool_count item is equal to the number
// of entries in the constant_pool table plus one. A constant_pool
// index is considered valid if it is greater than zero and less
// than constant_pool_count, with the exception for constants of
// type long and double noted in 4.4.5.
for (ushort i = 1; i < constantPoolCount; i++) {
ConstantType tag = (ConstantType) reader.ReadByte();
ConstantPool item = new ConstantPool();
constantPool[i] = item;
switch (tag) {
case ConstantType.Class:
/*
CONSTANT_Class_info {
u1 tag;
u2 name_index;
}
*/
item.ConstantType = ConstantType.Class;
item.NameIndex = reader.ReadUInt16();
break;
case ConstantType.Fieldref:
/*
CONSTANT_Fieldref_info {
u1 tag;
u2 class_index;
u2 name_and_type_index;
}
*/
item.ConstantType = ConstantType.Fieldref;
item.ClassIndex = reader.ReadUInt16();
item.NameAndTypeIndex = reader.ReadUInt16();
break;
case ConstantType.Methodref:
/*
CONSTANT_Methodref_info {
u1 tag;
u2 class_index;
u2 name_and_type_index;
}
*/
item.ConstantType = ConstantType.Methodref;
item.ClassIndex = reader.ReadUInt16();
item.NameAndTypeIndex = reader.ReadUInt16();
break;
case ConstantType.InterfaceMethodref:
/*
CONSTANT_InterfaceMethodref_info {
u1 tag;
u2 class_index;
u2 name_and_type_index;
}
*/
item.ConstantType = ConstantType.InterfaceMethodref;
item.ClassIndex = reader.ReadUInt16();
item.NameAndTypeIndex = reader.ReadUInt16();
break;
case ConstantType.String:
/*
CONSTANT_String_info {
u1 tag;
u2 string_index;
}
*/
item.ConstantType = ConstantType.String;
item.StringIndex = reader.ReadUInt16();
break;
case ConstantType.Integer:
/*
CONSTANT_Integer_info {
u1 tag;
u4 bytes;
}
*/
item.ConstantType = ConstantType.Integer;
item.Integer = reader.ReadInt32();
break;
case ConstantType.Float:
/*
CONSTANT_Float_info {
u1 tag;
u4 bytes;
}
*/
item.ConstantType = ConstantType.Float;
item.Float = reader.ReadSingle();
break;
case ConstantType.Long:
/*
CONSTANT_Long_info {
u1 tag;
u4 high_bytes;
u4 low_bytes;
}
*/
//.........这里部分代码省略.........
示例3: SingleTests
public void SingleTests(Single expectedValue, Byte[] givenBytes)
{
// arrange
var binaryReader = new BigEndianBinaryReader(givenBytes);
// act
var actualValue = binaryReader.ReadSingle();
// assert
Assert.That(expectedValue, Is.EqualTo(actualValue));
}
示例4: SingleTests
public void SingleTests(Single expectedValue, Byte[] givenBytes)
{
// arrange
var memoryStream = new MemoryStream(givenBytes);
var binaryReader = new BigEndianBinaryReader(memoryStream);
// act
var actualValue = binaryReader.ReadSingle();
// assert
Assert.Equal(expectedValue, actualValue);
}