C# 在C中基于属性名转换列表#
我有一个具有以下属性的类C# 在C中基于属性名转换列表#,c#,linq,C#,Linq,我有一个具有以下属性的类 public class Curve { public string CurveName { get; set; } public string RefSource { get; set; } public int price1 { get; set; } public int price2 { get; set; } public int price3 { get; se
public class Curve
{
public string CurveName { get; set; }
public string RefSource { get; set; }
public int price1 { get; set; }
public int price2 { get; set; }
public int price3 { get; set; }
public static List<Curve> GetCurveList()
{
List<Curve> data = new List<Curve>()
{
new Curve() { CurveName="Lamar", price1 = 1, price2 = 101,price3=104,RefSource="Tome" },
new Curve() { CurveName="Lamar", price1 = 2, price2 = 201,price3=204,RefSource="Richard" }
}
基本上,源列表的两个项目应该基于refsource和每个属性(标题为price)生成一个包含6行的新列表,它需要如下所示
Name RefSource Hour Value
lamar tom 1 1
lamar tom 2 101
lamar tom 3 104
lamar richard 1 2
lamar richard 2 201
lamar richard 3 204
名称参考源小时值
拉马尔汤姆11
拉马尔汤姆2 101
拉马尔汤姆3 104
拉马尔·理查德12
拉马尔·理查德2201
拉马尔·理查德3204
小时列是源列表中属性名称Price1
,price2
,price3
的后缀。尝试以下操作:
var query =
from curve in Curve.GetCurveList()
from result in new []
{
new { curve.CurveName, curve.RefSource, Hour = 1, Value = curve.price1 },
new { curve.CurveName, curve.RefSource, Hour = 2, Value = curve.price2 },
new { curve.CurveName, curve.RefSource, Hour = 3, Value = curve.price3 },
}
select result;
这给了我:
试试这个:
var query =
from curve in Curve.GetCurveList()
from result in new []
{
new { curve.CurveName, curve.RefSource, Hour = 1, Value = curve.price1 },
new { curve.CurveName, curve.RefSource, Hour = 2, Value = curve.price2 },
new { curve.CurveName, curve.RefSource, Hour = 3, Value = curve.price3 },
}
select result;
这给了我:
感谢您的回复并正确编辑我的问题,我是stack exchange的新手,,然而,在您的回复中,您硬编码了小时值,但我需要小时值作为Pricei属性的后缀,以便在小时中,属性Price7-7应为小时,类似地,属性“value”=Price7值应在中使用advance@NISHET-您的对象必须具有固定数量的这些属性,对吗?所以,你必须以某种方式动态地生成这些值,这对我来说毫无意义。您能更详细地解释一下您在做什么吗?谢谢您的回复并正确编辑了我的问题,我是stack exchange的新手,,然而,在您的回复中,您硬编码了小时值,但我需要小时值作为Pricei属性的后缀,以便在小时中,属性Price7-7应为小时,类似地,属性“value”=Price7值应在中使用advance@NISHET-您的对象必须具有固定数量的这些属性,对吗?所以,你必须以某种方式动态地生成这些值,这对我来说毫无意义。你能更详细地解释一下你在做什么吗?