我正在寻找一种在字符串[]中将CultureInfo.InvariantCulture
添加到float []转换器的方法。
我使用此代码,但它不断抛出
输入字符串的格式不正确。 例外。
这是代码:
clearList.Add(new Tuple<string, string, float[]>(fileNamesList[i].Item1, fileNamesList[i].Item2, Array.ConvertAll(fileNamesList[i].Item3, new Converter<string, float>(float.Parse))));
更新:
static List<Tuple<string, string, string[]>> fileNamesList = new List<Tuple<string, string, string[]>>();
static List<Tuple<string, string, float[]>> clearList = new List<Tuple<string, string, float[]>>();
static void Main(string[] args)
{
for (int i = 0; i < fileNamesList.Count; i++)
{
for (int j = 0; j < fileNamesList[i].Item3.Count(); j++)
{
if (String.IsNullOrEmpty(fileNamesList[i].Item3[j]))
{
Console.WriteLine("Empty");
}
else if (!String.IsNullOrEmpty(fileNamesList[i].Item3[j]))
{
if (fileNamesList[i].Item1.Equals("INCLUDE"))
{
string dataType = fileNamesList[i].Item1;
string date = fileNamesList[i].Item2;
string[] fileContent = fileNamesList[i].Item3;
clearList.Add(new Tuple<string, string, float[]>(dataType, date, Array.ConvertAll(fileContent, new Converter<string, float>(float.Parse))));
}
}
}
}
}
答案 0 :(得分:0)
您可以替换
使用
s => float.Parse(s,CultureInfo.InvariantCulture)
for (int i = 0; i < fileNamesList.Count; i++)
{
for (int j = 0; j < fileNamesList[i].Item3.Count(); j++)
{
if (String.IsNullOrEmpty(fileNamesList[i].Item3[j]))
{
Console.WriteLine("Empty");
}
else if (!String.IsNullOrEmpty(fileNamesList[i].Item3[j]))
{
if (fileNamesList[i].Item1.Equals("INCLUDE"))
{
string dataType = fileNamesList[i].Item1;
string date = fileNamesList[i].Item2;
string[] fileContent = fileNamesList[i].Item3;
clearList.Add(new Tuple<string, string, float[]>(dataType, date, Array.ConvertAll(fileContent, new Converter<string, float>(s => float.Parse(s, CultureInfo.InvariantCulture )))));
}
}
}
}