如何在带有int的if语句中使用string?

时间:2018-02-19 18:22:51

标签: c#

我正在使用一个整数n 示例

foo1

带有此语法的字符串1,2,3

示例

 int n;

我需要创建一个if状态,它将int n与字符串数字

进行比较

我想要的结果

String numbers = "1,2,3";

如何组合这两个变量?

4 个答案:

答案 0 :(得分:0)

你有几种方法。我将覆盖两个。

首先,您需要将字符串分成单独的数字。

<h1> Enrollment's Index </h1>

 <table>
    <tbody>
        <thead> Student and Classes Enrolled
            <th> Student </th>
            <th> Classes </th>
            <% @enrollments.each do |e| %>
               <td><%= link_to e.student.first_name %> </td>
               <td><%= link_to e.cclass.name %> </td>
            <% end %>
        </thead>
   </tbody>
</table>

答案 1 :(得分:0)

如果您可以信任您的输入(请注意),您可以在一行中完成:

if (numbers.Split(',').Select(x => int.Parse(x)).Contains(n))
{
    Do stuff;
}

这会将字符串拆分为字符串数组,然后选择每个项目并对其进行解析,将这些结果合并到IEnumerable<int>中,然后您可以检查它是否包含n。

答案 2 :(得分:0)

您可以尝试 Linq Any例如

string numbers = "1,2,3";

// if "n" equals to Any of the item in the numbers:
if (numbers.Split(',').Any(item => int.Parse(item) == n)) {
  ...
}

答案 3 :(得分:0)

如果您的字符串数组可能包含不能作为整数解析的内容:

String numbers = "1,2,3";

var intNumbers = new List<int>();

foreach (var item in numbers.Split(','))
{
    int i;
    if (int.TryParse(item, out i))
        intNumbers.Add(i);
}

if (intNumbers.Any(i => i >=1 || i <= 3))
{
    // Found!
}