我在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
}
答案 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")))
{
}