C# 并行列表属性
我有一个控制项列表,以及它们的属性的另一个列表。由于这些列表直接相互平行,我遍历属性列表以将它们应用于控件: 这两个列表是C# 并行列表属性,c#,list,C#,List,我有一个控制项列表,以及它们的属性的另一个列表。由于这些列表直接相互平行,我遍历属性列表以将它们应用于控件: 这两个列表是List calTitleCol和List dayList foreach (DayOfWeek day in dayList) { int index = dayList.IndexOf(day); string dayStr = day.ToString();
List calTitleCol
和List dayList
foreach (DayOfWeek day in dayList)
{
int index = dayList.IndexOf(day);
string dayStr = day.ToString();
dayStr = dayStr.Substring(0, 3);
calTitleCol[index].Text == dayStr;
if (day == DayOfWeek.Saturday || day == DayOfWeek.Sunday)
{
//more parameters here
}
}
我会假设这行读取
calTitleCol[index].Text==dayStr
非常符合逻辑,但是出现在这一行的错误是“仅赋值,调用可以用作语句”。这不是作业吗?从逻辑上讲,这种行为不应该是完全合法的吗?看来你试图做的是一项任务
为此,您应该更改calTitleCol[index].Text==dayStr代码>至calTitleCol[index].Text=dayStr代码>
==
运算符是相等运算符
=
是赋值运算符。看起来您试图做的是赋值
foreach (DayOfWeek day in dayList)
{
int index = dayList.IndexOf(day);
string dayStr = day.ToString();
dayStr = dayStr.Substring(0, 3);
calTitleCol[index].Text = dayStr;
-----------------------------------------^ // Why double equals?
if (day == DayOfWeek.Saturday || day == DayOfWeek.Sunday)
{
//more parameters here
}
}
为此,您应该更改calTitleCol[index].Text==dayStr代码>至calTitleCol[index].Text=dayStr代码>
==
运算符是相等运算符
=
是赋值运算符
foreach (DayOfWeek day in dayList)
{
int index = dayList.IndexOf(day);
string dayStr = day.ToString();
dayStr = dayStr.Substring(0, 3);
calTitleCol[index].Text = dayStr;
-----------------------------------------^ // Why double equals?
if (day == DayOfWeek.Saturday || day == DayOfWeek.Sunday)
{
//more parameters here
}
}
你正在做作业。
Double==
表示您正在比较结果。
单个=
分配
你正在做作业。
Double==
表示您正在比较结果。
单个=
作业。您在calTitleCol[index]中尝试执行的操作。Text==dayStr代码>?即使这是合法的,也只会给你一个无用的布尔值代码>?即使它是合法的,这只会给你一个无用的布尔值。