C# 如何创建';从'开始;类中的函数

C# 如何创建';从'开始;类中的函数,c#,winforms,list,foreach,startswith,C#,Winforms,List,Foreach,Startswith,我在列表中工作,将数据存储在类中,并再次使用新列表区分接收数据 我使用startswith函数检查字符串中的数据。但我还想调用startswith函数,在循环中使用字符串是数据形式类。 我无法添加startwith,因为我的类没有此函数的定义 下面是演示代码,可以帮助您理解我的要求 class URLClass { public URLClass() { } //packet count private int pktCount; publi

我在列表中工作,将数据存储在类中,并再次使用新列表区分接收数据

我使用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
}

将方法添加到类:

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")))
{

}

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

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

你需要在你的类中创建一个“StartsWith”方法,并让它做你想做的事情。我想你可能只需要
x.URLString.StartsWith(“SomeText”)
,但它并不完全清楚。应该从这个文本开始做什么?如果URLString属性应该启动,则可以使用该方法…x.URLString.StartsWith(“SomeText”)…@FCin
StartsWith
不是扩展方法。这只是
string
的常规方法。如果您不知道如何在类中创建方法,您需要的教程比我们所能提供的多得多。