0
votes

Retour Valeur attendue quand appelée par nom de variable

Je veux faire une structure que lorsque sa valeur est définie, vous pouvez appeler la valeur par nom de variable.

struct A
{
   int Value;
}

Main()
{
   // Sets Value to 9
   A Number = 9;
   Console.Write(Number);
   // output should be 9
}


0 commentaires

4 Réponses :


1
votes

Vos misses de struct Accessoires pour valeur xxx


1 commentaires

Votre code fonctionne, mais votre explication est incorrecte: une structure peut contenir à la fois des champs et des propriétés, et les champs n'ont pas d'accessoires (ou avec elle, ils seraient des propriétés).



2
votes

Vous pouvez optimiser votre code comme celui-ci: xxx

et utiliser comme vous le souhaitez: xxx


0 commentaires

2
votes

utiliser exactement ce que vous avez écrit un numéro = 9; Console.write (numéro); code> Vous devez d'abord définir un opérateur d'affectation implicite, puis vous devez remplacer la méthode ToString () code> pour obtenir la bonne sortie. Exemple de code:

struct A
{
    public int Value;

    public A(int value)
    {
        Value = value;
    }

    // This allows creating an instance of struct A by writing it as an assignment statement
    static public implicit operator A(int value)
    {
        return new A(value);
    }

    public override string ToString()
    {
        return Value.ToString();
    }
}

public static void Main()
{
    A Number = 9;
    Console.Write(Number);
}


0 commentaires

1
votes

Ajout de la réponse de Peter B, vous pouvez également définir la conversion implicite opposée au lieu de Tostring () xxx


0 commentaires