作者:海风 | 来源:互联网 | 2023-09-24 16:56
我有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();
var minYear = 1919;
var maxYear = 1925;
for (int i = 0; i {
if (x[i] <= maxYear && x[i] >= minYear)
{
result.Add(images[i]);
}
}
Console.WriteLine();
}
,
您可以尝试使用的LINQ版本:
public class Solution
{
private List x { get; set; } // assuming you initialised this
private List y { get; set; } // assuming you initialised this
public List GetImages(int start,int end)
{
return x.Zip(y,(x,y) => new Tuple(y,x)) // merging your two arrays into a list of Tuple
.Where(i => i.Item1 >= start && i.Item1 <= end) // this is your BETWEEN clause
.Select(i => i.Item2).ToList(); // returning images
}
}
然后致电GetImages(1919,1925);
我不知道这是否是一个选择,但是我建议您考虑将两个数组合并到Tuple
列表中,这样就不需要合并了。