如何创建' startswith'类

时间:2018-02-15 15:55:32

标签: c# winforms list foreach startswith

我在List工作并在课堂上存储我的数据,并再次使用新列表来区分接收数据。

  

我使用startswith函数来检查字符串中的数据。但我也想在循环中调用 startswith 函数,字符串是数据形式。   我无法添加 startwith ,因为我的没有此功能的定义

以下是演示代码,可帮助您了解我的问题

 class URLClass
{
    public URLClass()
    {

    }

    //packet count
    private int pktCount;
    public int PktCount
    {
        get { return pktCount; }
        set { pktCount = value; }
    }

    //URL accessed
    private string uRLString;
    public string URLString
    {
        get { return uRLString; }
        set { uRLString = value; }
    }}

这是一个班级数据...... 我使用了类数据列表并将其命名为 URLData

下面的代码是循环

foreach (var x in URLData) //URLData is list from above class
{
  if (x.StartsWith("SomeText")) // Here i face problem my class don't have any definition of Sartswith function is there any way i can define it manually
}

2 个答案:

答案 0 :(得分:1)

如果你不能修改你的URLClass来添加StartsWith方法,你仍然可以提供一个同样有用的扩展方法

public static class MyURLClassExtensions {
    public static bool StartsWith(this URLClass me, string text) {
        return me.URLString.StartsWith(text);
    }
}

答案 1 :(得分:0)

将方法添加到类中:

class URLClass
{
    public URLClass()
    {

    }

    //packet count
    private int pktCount;
    public int PktCount
    {
        get { return pktCount; }
        set { pktCount = value; }
    }

    //URL accessed
    private string uRLString;
    public string URLString
    {
        get { return uRLString; }
        set { uRLString = value; }
    }}

    public bool StartsWith(string match)
    {
        return uRLString.StartsWith(match);
    }

在循环中使用字符串属性:

foreach (var x in URLData) 
{
    if (x.URLString.StartsWith("SomeText"))
}

要么应该工作,这都是非常基本的101级别的东西。

你也可以这样做:

foreach (var x in URLData.Where(u => u.URLString.StartsWith("SomeText")))
{

}