【发布时间】:2016-12-20 10:39:57
【问题描述】:
如何在数组中显示一组特定的项目?
我想从索引 0 到 24 打印 25 个项目,然后从索引 25 开始按顺序打印另外 25 个。
我可以显示所有项目,但是如何从数组中的特定索引显示到另一个特定索引?
示例:我的数组中有 100 个项目。
我想显示从 0 到 3 和从 4 到 7 等等。
例如:字母串:A B C D E F G 等。 而且我只想显示 A B C。但是当我做某事时,它会显示数组中的下一个 3。
因为我使用 B_items 作为数组中的对象。我只想在数组中显示 0、1、2,然后再以 3、4、5 等形式显示。
public class B_items
{
public string Name {get; set;}
public int Value { Get; set;}
}
B_items[,] items;
public Inventory(Backpack Bpack, int Columns, int Rows, int SlotWidth, int SlothHeight, Vector2 Pos)
{
items = new B_items[Columns, Rows];
pos = Pos;
slotWight = SlotWidth;
slotHeight = SlothHeight;
backpack = Bpack;
this.Columns = Columns;
this.Rows = Rows;
LoadItems(Bpack);
}
for(int i = 0; i < items.Length; i++)
{
Console.WritleLine(Items[i].Name;
}
}
if (items[X, Y] != null)
{
spriteBatch.Draw(items[X, Y].Texure, new Rectangle(DrawX, DrawY, slotWight, slotHeight),new Rectangle(0,0,64,64),Color.White);
if (items[X, Y].StackSize > 1)
{
spriteBatch.DrawString(AssetManager.GetInstance().font["Arial8"], items[X, Y].StackSize.ToString(), new Vector2(DrawX + 24, DrawY + 22), Color.White);
}
}
这将写下所有内容,我想做其中的 5 个。虽然我有 100 个,但每次我按下一个按钮时,它都会在该列表中显示下一个 5。
如何显示特定的项目列表...表单索引 0 到 10 和表单 11 到 20 等等。
var stats = items.Skip(5).Take(5)
我不能这样做...我看不到 .Take(param) 或 .Skip(param)
我正在使用
using System.Linq;
using System;
很抱歉没有具体说明。我不能,有时也不知道如何提出一个有效的问题。我的英语不是我的第一语言,所以修正我的语法并删除这一行
【问题讨论】:
-
向我们展示一些示例数据或预期输出。
-
尝试一个
for-loop,也许结合if (...)和一些简单的计算,或者两个嵌套的for-loops。 -
这取决于你的数组,如果它是一维的,一个 for 循环和一个范围可以满足你的需要。例如“for (int x =0; x
-
您的代码无法编译。检查
B_items和B_item和Items和items。 -
@sefe 这只是一个例子。我不想写信是正确的;