如何将字符串值传递给集合?在 C#
How to pass String value to Collection? in C#
这是我的代码:
List<string> deviceScreenshot=new List<string>();
List<string> fiddlerScreenshot=new List<string>();
if(string.IsNullOrEmpty(summary[3].ToString())==false)
deviceScreenshot=summary[3];
else
deviceScreenshot="Screenshot not found";
if(string.IsNullOrEmpty(summary[4].ToString())==false)
fiddlerScreenshot=summary[4];
else
fiddlerScreenshot="Screenshot not found";
我收到以下错误消息!
Cannot implicitly convert type 'string' to
'System.Collections.Generic.List' (CS0029) -
D:\automation\OmnitureStatistics\OmnitureStatistics\TeardownUserCode.cs:144,23
请告诉我解决方法!!
您必须使用 List<T>
的 Add()
方法,如下所示。
List<string> deviceScreenshot=new List<string>();
List<string> fiddlerScreenshot=new List<string>();
if(string.IsNullOrEmpty(summary[3].ToString())==false)
deviceScreenshot.Add(summary[3]);
else
deviceScreenshot.Add("Screenshot not found");
if(string.IsNullOrEmpty(summary[4].ToString())==false)
fiddlerScreenshot.Add(summary[4]);
else
fiddlerScreenshot.Add("Screenshot not found");
您必须使用 List class 的 Add() 方法。这就是您将项目添加到列表的方式。
if(string.IsNullOrEmpty(summary[3].ToString())==false)
deviceScreenshot.Add(summary[3]);
else
deviceScreenshot.Add("Screenshot not found");
if(string.IsNullOrEmpty(summary[4].ToString())==false)
fiddlerScreenshot.Add(summary[4]);
else
fiddlerScreenshot.Add("Screenshot not found");
您可以将逻辑移至辅助方法并将静态字符串保存在资源文件中。
如果摘要是列表或数组(如果是字符串),则无需调用 ToString()。
class Program
{
static void Main(string[] args)
{
new Program().AddStringToCollection();
}
private void AddStringToCollection()
{
var summary = new string[] {"A", "B", "C", "", "D"};
var deviceScreenshot = new List<string>();
var fiddlerScreenshot = new List<string>();
AppendExceptWhiteSpace(deviceScreenshot, summary[3]);
AppendExceptWhiteSpace(fiddlerScreenshot, summary[4]);
}
//move to a resource file if possible
const string NotFoundText = "Screenshot not found";
//in a utility class this could also be an extension method
private void AppendExceptWhiteSpace(List<string> list, string value)
{
//not sure if you want empty strings, otherwise change back to IsNullOrEmpty
string text = string.IsNullOrWhiteSpace(value)
? NotFoundText
: value;
list.Add(text);
}
}
我不确定 "summary" 是什么,没有提到,所以我将其视为参数列表。
你的比较总是会做同样的事情,因为你错过了“”:
summary[3].ToString())=="false" // 字符串到字符串。
添加到列表应该是这样的:
deviceScreenshot.Add(摘要[3].ToString());
我知道大多数答案,但不知何故他们在这里忘记了 "ToString()"(除非它是一个字符串列表。在这种情况下,在这两种情况下都删除 "ToString()"。
这是我的代码:
List<string> deviceScreenshot=new List<string>();
List<string> fiddlerScreenshot=new List<string>();
if(string.IsNullOrEmpty(summary[3].ToString())==false)
deviceScreenshot=summary[3];
else
deviceScreenshot="Screenshot not found";
if(string.IsNullOrEmpty(summary[4].ToString())==false)
fiddlerScreenshot=summary[4];
else
fiddlerScreenshot="Screenshot not found";
我收到以下错误消息!
Cannot implicitly convert type 'string' to 'System.Collections.Generic.List' (CS0029) - D:\automation\OmnitureStatistics\OmnitureStatistics\TeardownUserCode.cs:144,23
请告诉我解决方法!!
您必须使用 List<T>
的 Add()
方法,如下所示。
List<string> deviceScreenshot=new List<string>();
List<string> fiddlerScreenshot=new List<string>();
if(string.IsNullOrEmpty(summary[3].ToString())==false)
deviceScreenshot.Add(summary[3]);
else
deviceScreenshot.Add("Screenshot not found");
if(string.IsNullOrEmpty(summary[4].ToString())==false)
fiddlerScreenshot.Add(summary[4]);
else
fiddlerScreenshot.Add("Screenshot not found");
您必须使用 List class 的 Add() 方法。这就是您将项目添加到列表的方式。
if(string.IsNullOrEmpty(summary[3].ToString())==false)
deviceScreenshot.Add(summary[3]);
else
deviceScreenshot.Add("Screenshot not found");
if(string.IsNullOrEmpty(summary[4].ToString())==false)
fiddlerScreenshot.Add(summary[4]);
else
fiddlerScreenshot.Add("Screenshot not found");
您可以将逻辑移至辅助方法并将静态字符串保存在资源文件中。
如果摘要是列表或数组(如果是字符串),则无需调用 ToString()。
class Program
{
static void Main(string[] args)
{
new Program().AddStringToCollection();
}
private void AddStringToCollection()
{
var summary = new string[] {"A", "B", "C", "", "D"};
var deviceScreenshot = new List<string>();
var fiddlerScreenshot = new List<string>();
AppendExceptWhiteSpace(deviceScreenshot, summary[3]);
AppendExceptWhiteSpace(fiddlerScreenshot, summary[4]);
}
//move to a resource file if possible
const string NotFoundText = "Screenshot not found";
//in a utility class this could also be an extension method
private void AppendExceptWhiteSpace(List<string> list, string value)
{
//not sure if you want empty strings, otherwise change back to IsNullOrEmpty
string text = string.IsNullOrWhiteSpace(value)
? NotFoundText
: value;
list.Add(text);
}
}
我不确定 "summary" 是什么,没有提到,所以我将其视为参数列表。
你的比较总是会做同样的事情,因为你错过了“”: summary[3].ToString())=="false" // 字符串到字符串。
添加到列表应该是这样的: deviceScreenshot.Add(摘要[3].ToString()); 我知道大多数答案,但不知何故他们在这里忘记了 "ToString()"(除非它是一个字符串列表。在这种情况下,在这两种情况下都删除 "ToString()"。