【发布时间】:2017-04-17 17:48:14
【问题描述】:
我在这里看到了类似的问题,但它们似乎都非常符合上下文,到目前为止我在弄清楚这一点时遇到了一些麻烦。对于 C# 和 razor 模板来说仍然很新,如果这是一个重复的问题或非常简单的问题,我们深表歉意!
我要做的是在 foreach 循环中获取用户定义字符串的值,将其转换为(我假设)一个 int,为循环的每个实例添加它,然后检查总和的财产。
下面是一个简化的代码示例,可能会使这一点更清楚:
foreach (var col in columnOptions.Columns)
{
<div class="@col.Width">
@*content*@
</div>
}
if (totalWidthValue > 12)
{
@*do something else*@
}
所以基本上我需要把col.Width的值,转换成int以便计算,每次出现的总和,然后检查总和是否大于12。
此外,如果有帮助,这是设置宽度的位置/方式:
[JsonSchema(Title = "Column width", Description = "Select the width of this column based on a 12 column wide grid")]
[PropertyOrder(11)]
[JsonOptions(GridColumns = 6)]
[JsonEnumValues("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12")]
[DefaultValue("12")]
[Localizable(false)]
public string Width { get; set; }
编辑: 这是我在尝试方面可以提供的内容,我担心它可能还没有完全形成,无法确定任何具体的“这就是你出错的地方”,但至少它显示了一种尝试,并且可能为我的知识差距提供了一些背景信息是(添加的部分实际上只是两个变量):
foreach (var col in columnOptions.Columns)
{
var colNum = double.TryParse(col.Width, out colNum);
var totalWidthValue = colNum + colNum;
<div class="@col.Width">
@*content*@
</div>
}
if (totalWidthValue > 12)
{
@*do something else*@
}
【问题讨论】:
-
你有没有尝试过?
-
没有错误。说实话,我从一开始就不确定如何处理它,而且我觉得包括我自己的任何失败的尝试都会使水变得太多。就应该如何做到这一点而言,我觉得我的尝试大多与那个问题无关。
-
但最好还是展示您尝试过的内容,否则这看起来就像“为我做我的工作”的问题
-
但是如果我什至不确定从哪里开始呢?这是一个问答论坛,不是吗?我会看看我尝试过的东西,看看我是否可以以一种有意义的方式添加它。
-
你想用 linq 来做。请提供显示您尝试使用 linq 的代码的 sn-p。如果它不起作用,那很好,这就是我们进来的地方,但这不应该是人们在没有付出具体努力的情况下发布的网站。您不需要全部添加,只需添加相关部分即可