как сохранить значение списка и использовать его в другом методе - PullRequest
1 голос
/ 29 апреля 2020

У меня есть список, который мне нужно использовать результат в другом методе.

 public void GetTextSize()
        {
            List<int>TextSize = new List<int>();
            if (SmallCustomTextSize)TextSize.Add(12);
            if (MediumCustomTextSize) TextSize.Add(14);
            if (LargeCustomTextSize) TextSize.Add(16);
            if (VeryLargeCustomTextSize) TextSize.Add(17);
            var result = TextSize;
        }

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

1 Ответ

1 голос
/ 29 апреля 2020

Вы получаете нулевое значение для инициализированного списка, потому что вы не назначаете TextSize правильно.

...
public List<int> TextSizeResult { get; set; }  //Top initialized 
...
public void GetTextSize()
{
     List<int>TextSize = new List<int>();
     if (SmallCustomTextSize)TextSize.Add(12);
     if (MediumCustomTextSize) TextSize.Add(14);
     if (LargeCustomTextSize) TextSize.Add(16);
     if (VeryLargeCustomTextSize) TextSize.Add(17);
     // var result = TextSize; <--- This line creating local variable called result.
     //Instead of assigning `TextSize` to local variable, assign it to class level property
     TextSizeResult = TextSize; //This was missing
}

Другой подход:

Вы можно вернуть тот же список из этой функции и использовать его в другой функции

public List<int> GetTextSize()
{     //^^^^^^^^^ Change void to List<int> i.e type of list
       List<int>TextSize = new List<int>();
       if (SmallCustomTextSize)TextSize.Add(12);
       if (MediumCustomTextSize) TextSize.Add(14);
       if (LargeCustomTextSize) TextSize.Add(16);
       if (VeryLargeCustomTextSize) TextSize.Add(17);
       return TextSize;  //Instead of assigning it to result return it.
}

Теперь это даст вам гибкость при передаче списка TextSize в другой функции.

Как,

...
var textSize = GetTextSize();
var result = AnotherFunction(textSize);
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...