我正在尝试添加 List<string> container = new List<string>()
和config.ContainerNames.Add(String.Join("\n",container));
到另一个类中的对象并替换 return container;
与 return config.ListContainerData;
.
ListContainer()
public static List<string> ListContainer(StartConfig config)
{
if (config != null || config.BlobClient != null)
{
config = Program.GetConfig();
}
if (config == null)
{
throw new ArgumentNullException("config");
}
if (config.BlobClient == null)
{
throw new ArgumentException("BlobClient must not be null", "config");
}
List<string> container = new List<string>();
//Get the list of the blob from the above container
IEnumerable<CloudBlobContainer> containers = config.BlobClient.ListContainers();
foreach (CloudBlobContainer item in containers)
{
config.ListContainerData.Add(container.Add(item.Name));
config.ContainerNames.Add(String.Join("\n", container));
}
return container; //replace with config.ListContainerData;
}
在我的foreach()
内我打电话config.ListContainerData.Add(container.Add(item.Name));
这给了我一个错误:无法将 void 转换为字符串。
StartConfig类
public class StartConfig
{
public StartConfig()
{
ContainerNames = new List<string>();
}
public CloudStorageAccount StorageAccount { get; internal set; }
public CloudBlobClient BlobClient { get; internal set; }
public CloudBlobContainer Container { get; internal set; }
public List<string> ContainerNames { get; internal set; }
public List<string> ListContainerData { get; internal set; }
}
我还调用了一个名为 GetConfig()
的方法它正在实例化 StartConfig
类(Class)。 (即 StartConfig config = new StartConfig();
)根据我的理解,我应该能够简单地添加 container
&& config.ContinerNames
到config.ListContainerData
.
最佳答案
问题是List.Add()
方法不返回列表本身。请参阅 MSDN 上的签名:https://msdn.microsoft.com/en-us/library/3wcytfd1%28v=vs.110%29.aspx
public void Add(
T item
)
因此通过调用config.ListContainerData.Add(container.Add(item.Name));
您实际上正在添加 void
,不是List<string>
正如预期的那样。
拆分调用并根据您想要实现的目标添加容器或新项目(假设如下):
ListContainerData = container;
关于c# - 将两个 List<string> 值添加到对象 {get,内部集;} 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36602031/