我有2个数组。一个称为x,具有30个图像值。另一个是与数组x中每个图像值对应的年份列表。我有2个文本框,每个文本框要放置一年。例如,在一个文本框中输入1919,在另一个文本框中输入1925。我要发生的是在一个图片框中显示所有1919年至1925年之间的相应年份的图像。我正在C#中使用视觉工作室。
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();
}
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>
列表中,然后就不需要合并。