C# 如何创建';从'开始;类中的函数
我在列表中工作,将数据存储在类中,并再次使用新列表区分接收数据 我使用startswith函数检查字符串中的数据。但我还想调用startswith函数,在循环中使用字符串是数据形式类。 我无法添加startwith,因为我的类没有此函数的定义 下面是演示代码,可以帮助您理解我的要求C# 如何创建';从'开始;类中的函数,c#,winforms,list,foreach,startswith,C#,Winforms,List,Foreach,Startswith,我在列表中工作,将数据存储在类中,并再次使用新列表区分接收数据 我使用startswith函数检查字符串中的数据。但我还想调用startswith函数,在循环中使用字符串是数据形式类。 我无法添加startwith,因为我的类没有此函数的定义 下面是演示代码,可以帮助您理解我的要求 class URLClass { public URLClass() { } //packet count private int pktCount; publi
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”)…@FCinStartsWith
不是扩展方法。这只是string
的常规方法。如果您不知道如何在类中创建方法,您需要的教程比我们所能提供的多得多。