如何在控制器中使用子串?

问题描述 投票:0回答:5

我试图在名字,中间名和姓氏中拆分名称。为此,我需要拆分名称。我只在控制器中执行此操作。

这是我的代码:

var name = c1.Split(' ');
String fname  = name[0];
String mname = null;
String lname = null;

if(name.Length == 2) //first and last names provided
{
    fname = name[0];
    lname = name[1];
}                

if(name.Length > 2) //first item is the first name. last item is the last name. Everything else are middle names
{
    fname = name[0];
    mname = name.Substring(1, name.Length-2);
    lname = name[name.Length-1];
}

但是在控制器中它说没有定义子串。能做什么?

c# arrays substring
5个回答
0
投票

你在一个数组中调用Substring。在c1上调用它。


0
投票

您在数据集合上使用子字符串而不在字符串上。你的代码应该是这样的

    fname.Substring(...)

要么

    name[0].substring

0
投票

您希望将数组的第一个元素作为名字,最后一个作为姓氏,将第一个和最后一个元素之间的元素作为中间名连接在一起:

fname = name[0];
mname = string.Join(" ",name.Skip(1).Take(name.Length-2).ToArray());
lname = name[name.Length-1];

0
投票

子字符串可用于您用于数组的字符串

 if(name.length)
 {
     fname = name[0];
     mname = name[1].Substring(1, name[1].Length-2);
     lname = name[name.Length-1];          
 }

0
投票
            var pieces = c1.Split(' ');
            if (pieces.Length == 2)
            {
                var firstname = pieces[0];
                var lastname = pieces[1];
            }

            if (pieces.Length > 2)
            {
                var firstname = pieces[0];
                var lastname = pieces[pieces.Length -1 ];

                var middlename = string.Join(" ", pieces.Skip(1).Take(pieces.Length - 2));

            }
© www.soinside.com 2019 - 2024. All rights reserved.