C#结构体带非构造函数的初始化?
<StructLayout(LayoutKind.Sequential)> Private Structure stMemoryInit_t
Public addr As UInteger
Public data As UInteger
Public format As UInteger
Public Sub New(ByVal Addrt As UInteger, ByVal Datat As UInteger, ByVal Formatt As UInteger)
addr = Addrt
data = Datat
format = Formatt
End Sub
End Structure
Private ddrMx25() As stMemoryInit_t = _
{New stMemoryInit_t(&HB8002050UI, &HDCF6, 32), _
New stMemoryInit_t(&HB8002054UI, &H444A4541, 32), _
New stMemoryInit_t(&H80000000UI, &HDEADBEEFUI, 32)}
翻译成C#代码出现问题
声明没有问题:
[StructLayout(LayoutKind.Sequential)]
struct stMemoryInit_t
{
public uint addr = 0;
public uint data = 0;
public uint format = 0;
public void New(uint Addrt, uint Datat, uint Formatt)
{
addr = Addrt;
data = Datat;
format = Formatt;
}
};
初始化出现错误
private stMemoryInit_t[] ddrMx25 = new stMemoryInit_t[]
{
New stMemoryInit_t(0xB8002050, 0xDCF6, 32),
New stMemoryInit_t(0xB8002054, 0x444A4541, 32),
New stMemoryInit_t(0x80000000, 0xDEADBEEF, 32)}
相关推荐
C#关于构造函数初始化器的使用
有时,在一个类中有几个构造函数,以容纳某些可选参数,这些构造函数都包含一些共同的代码。 例如,下面的情况: class Car { private string description; private uint nWheels; public Car(string model, uint nWheels) { this.description = model; this.nWheels = nWheels; } public Car(string description) { this.description = description; this.nWheel
详解C#编程中构造函数的使用
当类或结构创建时,其构造函数调用。构造函数与选件类或结构相同,并且,它们通常用于初始化新对象的数据成员。 在下面的示例中,使用一个简单的构造函数定义了名为 Taxi 的类。然后使用 new 运算符来实例化该类。在为新对象分配内存之后,new 运算符立即调用 Taxi 构造函数。 public class Taxi { public bool isInitialized; public Taxi() { isInitialized = true; } } class TestTaxi { static void Main() { Taxi t = new
详解C# 结构体
在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。 结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性: Title Author Subject Book ID 定义结构体 为了定义一个结构体,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。 例如,您可以按照如下的方式声明 Book 结构: struct Books { public string title; public string author; publi
C#构造函数的理解
这是比较容易理解的构造函数的解释,希望大家能够通过此文档的学习,更好地掌握构造函数。
c#默认构造函数的作用
c#默认构造函数的作用


