我的问题是这个问题的一部分:
我从一个表单中接收id的集合。我需要获取键,将它们转换为整数,并从DB中选择匹配的记录。
[HttpPost]
public ActionResult Report(FormCollection collection)
{
var listofIDs = collection.AllKeys.ToList();
// List<string> to List<int>
List<Dinner> dinners = new List<Dinner>();
dinners= repository.GetDinners(listofIDs);
return View(dinners);
}
这将字符串数组转换为长数组。它返回成功转换的值的个数。
public static int strv_to_longv(string[] src, int src_offset, long[] dst, int dst_offset)
{
int i = src_offset;
int j = dst_offset;
int ni = src.Length;
int nj = dst.Length;
while ((i < ni) && (j < nj))
{
j += long.TryParse(src[i], out dst[j]) ? 1 : 0;
i++;
}
return j;
}
var line = "lemon 4 grape 1 garlic 77";
string[] words = line.Split(' ');
long[] longs = new long[10];
int l = strv_to_longv(words, 1, longs, 0);
//longs will be equal {4, 1, 77}
//l will be equal 3