Comment consommer une méthode qui renvoie un système 2D.array (pas string [,]) en c #?

StackOverflow https://stackoverflow.com/questions/4982884

  •  13-11-2019
  •  | 
  •  

Question

J'utilise une ligne comme ceci:

Array stringArray = Array.CreateInstance(typeof(String), 2, 2);

pour consommer une méthode qui renvoie un système 2D. stringarray variable. Cependant stringArray = myClassInstance.Work (..., ... ...); n'est pas rempli du tableau de retour de cette fonction.

Comment dois-je définir ma variable de collecte afin qu'elle puisse être attribuée à la valeur de retour d'une méthode qui renvoie un système 2D.Array la valeur de tableau de chaîne?

Merci

Était-ce utile?

La solution

Array.CreateInstance retourne un Array, sans sa dimension et sa longueur spécifiées (mais de toute façon c'est un System.Array qui est la classe de base de tous les tableaux en C #). Dans la plupart des cas, un tableau de retour d'une méthode ressemble plus à:

public string[] MyMethod()
{
}
public int[,] Another(int something)
{
}

string[] theStringResult = MyMethod();
int[,] theIntResult = Another(1);

Autres conseils

Sur votre 2D-array:

Array.CreateInstance(typeof(String), 2, 2);

Cela renvoie un string[,] couler Array. C'est identique à (Array)(new string[2,2]). Pour que vous puissiez le lancer à string[,] si tu veux.

Mais pourquoi voulez-vous l'utiliser de toute façon? Ne pouvez-vous pas simplement utiliser un string[,] Au lieu? Ne savez-vous pas que le type d'élément est string au temps de compilation? Peut-être faire dans un paramètre générique.

Sur votre problème sur place:

Cependant stringArray = myClassInstance.Work (..., ... ...); n'est pas rempli du tableau de retour de cette fonction.

Nous ne pouvons pas vous aider avec cette partie du problème, sauf si vous postez le code où cela se produit. Il semble que MyClassInstance.Work ne renvoie pas l'instance de tableau que vous avez créée. Mais à moins que vous ne montriez le code avec le bug, je ne peux pas vous dire où il se trouve.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top