使用getter / setter分割网址

时间:2017-05-10 01:00:23

标签: c#

我有一个网址,例如:http://mywebsite.com/another/andanother/test.php我希望能够按/拆分它,以便我可以像这样访问数组:

identify[0];
identify[1];

我有一个像这样的getter和setter:

p

我如何实现我的目标?

我尝试运行时出现以下错误

  

无法将字符串转换为字符

2 个答案:

答案 0 :(得分:1)

也许现有的[Uri class] https://msdn.microsoft.com/en-us/library/system.uri(v=vs.113).aspx)提供了你需要的东西。

此:

var uri = new Uri(
    "http://scotthannen.org/blog/2017/04/26/dependency-inversion-for-beginners.html");
Console.WriteLine(uri.AbsolutePath);

返回

  

/blog/2017/04/26/dependency-inversion-for-beginners.html

你可以用“/".

分开

此:

var uri = new Uri(
    "http://scotthannen.org/blog/2017/04/26/dependency-inversion-for-beginners.html");
foreach(var segment in uri.Segments)
{
    Console.WriteLine(segment);
}

返回

  

/
  博客/
  2017年/
  04 /
  26 /
  dependency-inversion-for-beginners.html

还有各种其他有用的属性和方法来处理网址,因此您不必使用各种string方法来解析它们。

答案 1 :(得分:1)

这是一种方法,使用延迟加载:

private string[] _identify;
public string[] identify
{
    get
    {
        if (_identify == null)
        {
            _identify = url.Text.Split('/');
        }
        return _identify;
    }
}