我如何使用2个值作为范围来搜索数组中的值以找到第一个值? C#

问题描述 投票:-2回答:2

我有2个数组。一个称为x,具有30个图像值。另一个是与数组x中每个图像值对应的年份列表。我有2个文本框,每个文本框要放置一年。例如,在一个文本框中输入1919,在另一个文本框中输入1925。我要发生的是在一个图片框中显示所有1919年至1925年之间的相应年份的图像。我正在C#中使用视觉工作室。

c# arrays visual-studio search textbox
2个回答
0
投票
class Image { } private static async Task Main(string[] args) { var x = new int[30]; var images = new Image[30]; var result = new List<Image>(); var minYear = 1919; var maxYear = 1925; for (int i = 0; i < x.Length; i++) { if (x[i] <= maxYear && x[i] >= minYear) { result.Add(images[i]); } } Console.WriteLine(); }

0
投票
public class Solution { private List<Image> x { get; set; } // assuming you initialised this private List<int> y { get; set; } // assuming you initialised this public List<Image> GetImages(int start, int end) { return x.Zip(y, (x, y) => new Tuple<int, Image>(y, x)) // merging your two arrays into a list of Tuple<int, Image> .Where(i => i.Item1 >= start && i.Item1 <= end) // this is your BETWEEN clause .Select(i => i.Item2).ToList(); // returning images } }

然后呼叫GetImages(1919, 1925);

我不知道这是否是一个选项,但是我建议您考虑将两个数组合并到Tuple<int, Image>列表中,然后就不需要合并。
© www.soinside.com 2019 - 2024. All rights reserved.