我最近發現了LINQ,我覺得它非常有趣。目前我有以下功能,而且我不確定它是否會更高效,畢竟產生相同的輸出。簡單操作中LINQ的效率
您能否告訴我您對此的看法?
private static byte[] FilterText(byte[] arr)
{
List<byte> filteredBytes = new List<byte>();
int j = 0; //index for filteredArray
for (int i = 0; i < arr.Length; i++)
{
if ((arr[i] >= 65 && arr[i] <= 90) || (arr[i] >= 97 && arr[i] <= 122) || arr[i] == 10 || arr[i] == 13 || arr[i] == 32)
{
filteredBytes.Insert(j, arr[i]) ;
j++;
}
}
//return the filtered content of the buffer
return filteredBytes.ToArray();
}
的LINQ替代:
private static byte [] FilterText2(byte[] arr)
{
var x = from a in arr
where ((a >= 65 && a <= 90) || (a >= 97 && a <= 122) || a == 10 || a == 13 || a == 32)
select a;
return x.ToArray();
}
爲什麼你有'j'?只需使用「添加」而不是「插入」,您可以免除該計數器。 –
你可能應該替換'.Insert(j,''部分用'.Add('和刪除'j'計數器。 – Douglas
是的謝謝你,我只是修改了代碼,甚至沒有安排! – test