0

に古いシステムがありますが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ですか?

4

3 に答える 3

4

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; } 
}
于 2013-08-01T14:56:36.127 に答える
1

構造体を構築しようとしていますか?

private struct T_Parameters
{
    string Name;
    byte YearsOld;
    byte Day;
}
于 2013-08-01T14:55:15.957 に答える