我可以列出网络中以特定名称开头的所有计算机吗? 例如假设以下给定的计算机在网络中共享 - (键盘,显示器,monitor1,monitor235,PC6,keyboard2,PC8,PC6,PC2)
我使用下面的代码列出网络中的所有计算机 -
List<string> list = new List<string>();
using (DirectoryEntry root = new DirectoryEntry("WinNT:"))
{
foreach (DirectoryEntry computers in root.Children)
{
foreach (DirectoryEntry computer in computers.Children)
{
if ((computer.Name != "Schema"))
{
list.Add(computer.Name);
}
}
}
}
我可以列出所有以名称开头的PC&#34; PC&#34;? 即PC6,PC8,PC2
答案 0 :(得分:1)
为什么不使用Linq?
root.Children
.SelectMany(x => x.Children)
.Where(x => x.Name.StartsWith("PC"))
.Select(x => x.Name);
请参阅MSDN