[英]C# count each element in string array
我有這樣的數據文件:
我想計算數組中的每個元素。 例如:10、2、2、2、2、2、2。該怎么做?
string FilePath = @"path";
int counteachelement = 0;
string fileContent = File.ReadAllText(FilePath);
string[] integerStrings = fileContent.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
for (int n = 0; n < integerStrings.Length; n++)
{
counteachelement = integerStrings.GetLength(n);
Console.Write(counteachelement + "\n");
}
怎么樣
List<int> Result = integerStrings.Select(x => x.Length).ToList();
在這里,我修改了您的代碼以獲取您正在使用的for循環中每個元素的數量-
string FilePath = @"path";
int counteachelement = 0;
string fileContent = File.ReadAllText(FilePath);
string[] integerStrings = fileContent.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
int count = 0;
for (int n = 0; n < integerStrings.Length; n++)
{
count = integerStrings[n].Length;
}
您可以使用File.ReadLines()
避免一次將所有行都保留在內存中,然后只需使用Enumerable.Select()
挑選出每行的長度即可。 (這假設您沒有忽略或沒有任何空行):
var lengths = File.ReadLines(FilePath).Select(s => s.Length);
Console.WriteLine(string.Join("\n", lengths));
您可以使用javascript:
var arr=["39","9","139"]; var temp=""; for(i=0;i<arr.length;i++) temp += (arr[i].length) + ", "; alert("Lenght element array: " +temp.toString());
您可以使用Linq
執行此操作
List<string> list = new List<string>();
list.Add("39");
list.Add("40");
list.Add("36");
list.Add("37");
list.Add("40");
list.Add("37");
list.Add("39");
var output = list.Select(i => i.Length);
Console.WriteLine(string.Join(" ",output));
//"2 2 2 2 2 2 2"
string[] contents = File.ReadAllLines(@"myfile.txt");
foreach(var line in contents)
{
line.Length // this is your string length per line
}
你可以做,
var str = "2016-07-01 - this is data,39,40,36,37,40,37,";
var Result = str.Split(',').Select(p => p.Count()).ToList();
注意:我正在考慮將您的輸入作為逗號分隔的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.