EndsWith()无法正常工作

时间:2016-06-01 07:56:40

标签: c# .net

如果它们与输入字符串的末尾匹配,我想在tres4数组中添加所有字符串的相应索引。然而,我的列表中填充了所有索引1-12,而不是只有那些匹配输入字符串末尾的索引。在这种情况下,只应将1添加到我的List

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Encoding
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] tres4 = {
                    "CHU",
                    "TEL", 
                    "OFT",
                    "IVA",
                    "EMY",
                    "VNB",
                    "POQ",
                    "ERI",
                    "CAD",
                    "K-A",
                    "IIA",
                    "YLO",
                    "PLA"
            };

            string message = "CHUTEL";
            List<int> digits = new List<int>();

            for (int i = 0; i < tres4.Length; i++)
            {
                if (message.EndsWith(tres4[i]));
                {
                    digits.Add(i);
                }   
            }

            Console.WriteLine(String.Join(", ", digits));
        }
    }
}

2 个答案:

答案 0 :(得分:8)

;条件

中删除if
if (message.EndsWith(tres4[i]))

答案 1 :(得分:7)

你有一个额外的分号:

if (message.EndsWith(tres4[i]));

最后看到分号?删除它,它将工作。

下次你应该试一试调试器,它会马上显示问题。