に古いシステムがありますがVB6
、今は を使用して新しいシステムを構築しようとしていC#
ます。
私はこのVB6コードを持っています:
Private Type T_Parameters
Name As String * 16 (What is this ? '* 16')
YearsOld As Byte
Day As Byte
End Type
の同等のコードはC#
何ですか? これは何Type
ですか?
VB 6 のコードを見てから長い時間が経ちましたが、これは固定長の文字列だと思います。.NET は固定長の文字列をサポートしていませんが、char[]
. C# に相当するものは次のようになると思います。
private class T_Parameters
{
public string Name { get; set; }
public byte YearsOld { get; set; }
public byte Day { get; set; }
}
または、これにより、ユーザーがName
フィールドのサイズを変更できなくなります。
private class T_Parameters
{
public char[] Name { get; private set; }
public byte YearsOld { get; set; }
public byte Day { get; set; }
public T_Parameters() {
Name = new String(' ', 16).ToCharArray();
}
}
または、次のようにすることもできます。
private class T_Parameters
{
private string name = new String(' ', 16);
public string Name
{
get { return this.name; }
set { this.name = value.PadRight(16, ' ').Substring(0, 16); }
}
public byte YearsOld { get; set; }
public byte Day { get; set; }
}
構造体を構築しようとしていますか?
private struct T_Parameters
{
string Name;
byte YearsOld;
byte Day;
}