Можем ли мы инициализировать динамический массив строк - PullRequest
0 голосов
/ 08 июня 2010

есть ли способ инициализировать динамический массив строк.


public class CXmlFileHook
    {
        string  vAppname;
        string  vClassname;
        string  vIdmark;
        string  vExecname;
        string [] vApiName;
        string  vCtor;</p>

<pre><code>    public CXmlFileHook()
    {
        this.vAppname = "Not Set";
        this.vIdmark = "Not Set";
        this.vClassname = "Not Set";
        this.vExecname = "Not Set";
        this.vApiName = new string[9] { "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set", "Not Set" ,"Not Set"};

        this.vCtor = "CXmlFileHook()";

    }

Теперь я хочу, чтобы размер строки увеличивался динамически, и в зависимости от размера он сам себя инициализирует, возможно ли ????

1 Ответ

2 голосов
/ 08 июня 2010

Все еще не уверены, что вам на самом деле нужно знать, поэтому вот пара ответов на выбор: -)

Массивы в C # не могут изменять свою длину. Используйте класс коллекции, если вам нужны динамические коллекции, например. List<T>.

A List<T> может быть инициализирован с использованием того же синтаксиса:

this.vApiName = new List<string> 
  { 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set",
    "Not Set"
  };

Если длина массива не изменяется во время выполнения, вы можете использовать его. Вам не нужно указывать длину массива при его объявлении и инициализации одновременно. Длина определяется компилятором (она все еще постоянна во время выполнения):

  this.vApiName = new string[] // <= no array-length, set to 9 by compiler
  { 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set", 
    "Not Set",
    "Not Set"
  };

Вам не нужно инициализировать значения по умолчанию, если вы просто хотите инициализировать с нулями (см. эту ссылку ).

this.vApiName = new string[9]; // array containing 9 x null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...