我试图将类型字符串列表中的所有项目放入类型对象列表中。
这是我的班级:
df.ix[len(df)] = ['Total', df.INCOME.sum()]
>>> df
SOURCE OF BUSINESS INCOME
0 BYD - Other 500
1 BYD - Retail 1584
2 BYD - Transport 42498
3 BYD Beverage - A La Carte 39401.5
4 BYD Food - A La Carte _______ 68365
5 BYD Food - Catering Banquet 53796
6 BYD Rooms ____ 5148
7 GS - Retail 386
8 GS Food - A La Carte 48
9 Orchard Retail 130
10 SCH - Food - A La Carte 96
11 SCH - Retail 375.4
12 SCH - Transport 888
13 SCH Beverage - A La Carte 119
14 Spa 3052
15 XLM Beverage - A La Carte 38
16 Total 216425
我尝试了以下内容(某些类型字符串列表,我试图将元素添加到我的新类型对象列表中):
public class Object
{
public string url;
public bool case;
public void Add(string item)
{
url = item;
}
}
和
List<Object> finals = something.OfType<Object>().ToList();
我想要的是&#34; url&#34;从我的对象类到与List中的每个元素相等,&#34; case&#34;为所有人设置为false。
我希望我足够清楚。提前谢谢!
答案 0 :(得分:2)
首先,您需要创建Object
的实例,然后将其添加到列表中。
默认情况下,属性case
为false。
List<Object> finals = new List<Object>();
foreach(var item in something)
{
var newObject = new Object(item);
finals.Add(newObject);
}
答案 1 :(得分:2)
在您的情况下,您可以使用LINQ轻松实现这一点。
List<Object> finals = something.Select(s => new Object(s)).ToList();
bool
的默认值为false
,因此您不需要任何特定的设置器。
答案 2 :(得分:2)
以下是您的案例特有的代码:
IEnumerable<Object> finals = strings.Select(s => new Object() { url = s });
case
属性默认为false,因此您无需明确输入。
答案 3 :(得分:1)
获取字符串列表中的每个项目,循环遍历它们并返回具有两个属性url和case的对象列表。将case设置为false。 Yield return将返回一个可枚举的对象接口。
public class MyObject {
public string url { get; set; }
public bool case { get; set; }
}
public IEnumerable<MyObject> process(List<string> listOfUrls) {
foreach(var item in listofUrls) {
yield return new MyObject {
url = item;
case = false;
}
}
}