Как лучше всего возвращать набор статических данных из 2 массивов? - PullRequest
0 голосов
/ 02 ноября 2019

Как вернуть набор данных из двух статических массивов (String, Decimal) в представление? Пример [Small, 1.00], [Medium, 3.00], [Large, 7.50].

Я смотрел на Tuple <>, который возвращает данные в контроллер, но я не думаю, что этоправильный метод, поскольку мне нужно было бы создать новые свойства в моей Viewmodel, чтобы затем назначить данные для возврата к просмотру.

class:

public class BoxSizeViewModel
{

    public static Tuple<string[], decimal[]> GetDetails()
    {
        string[] Size = { "S", "M", "L" };
        decimal[] Price = { 1, 3, 7.50 };

        return new Tuple<string[], decimal[]>(Size, Price);
    }
}

Я пытаюсь назначить размер и цену IEnumerableчто я могу вернуться к виду.

1 Ответ

1 голос
/ 02 ноября 2019

Я думаю, вам лучше использовать новый класс или структуру для хранения информации, которую вы хотите отобразить. Тем не менее, если вы хотите использовать кортежи, вы должны вернуть список кортежей, а не кортеж строк, например:

List<Tuple<string, decimal>>

Я все еще верю, что это будет более читабельнымхотя:

public class ProductInfo 
{
   public string Size { get; set; }
   public decimal Price { get; set; }
}

public static List<ProductInfo> GetDetails()
{
 ...
}

Что касается объединения ваших списков, вам нужна операция Linq Zip.

Проверьте код здесь: https://dotnetfiddle.net/qyryvY

...