-1

我正在做从 JAVA 到 c# 的转换

在我的java中我有这个类

public class Axe extends ByteArray {

}

按理我认为应该是这样,

public class Axe : ByteArray {

}

但问题出在 c# 中,它没有 ByteArray 供我扩展

谢谢

4

5 回答 5

2

ByteArray is a wrapper Class in java which wrappes byte[]( a array of bytes) and provides methods to maipulate. if required you could write your own wrapper class in C#,

Link provides Sample Wrapper Class for ByteArray in java.

hopes that helps

于 2012-05-22T11:36:06.013 回答
2

也许您应该为以下内容编写一些扩展方法byte[]

static class ByteExtensions
{
    public static string DoSomething(this byte[] x)
    {
        return "Length of this byte array: " + x.Length;
    }
}

// ...

void Foo()
{
    var b = new byte[5];
    b.DoSomething();
}
于 2012-05-22T11:21:39.060 回答
1

你不能扩展字节数组,但如果你想像数组一样使用你的类,你可以提供索引器:

public class Axe {

    private byte[] data = new byte[whateverLength];

    public byte this[int index] {
        get { return data[index]; }
        set { data[index] = value; }
    }

}

然后你可以做这样的事情:

Axe myAxe = new Axe();
myAxe[someIndex] = 5;
于 2012-05-22T11:18:13.677 回答
1

你在寻找一个:字节[]?

于 2012-05-22T11:18:29.117 回答
0

如果您绝对想实现自己的字节类型集合,请实现IList之类的接口之一:

public class Axe : IList<Byte>

或者如果您只需要位而不是字节,请考虑使用BitArray

于 2012-05-22T11:19:43.040 回答