小编Tom*_*Tom的帖子

使用LINQ,选择另一个对象列表中的对象列表

public class ClassA
{
     public string MyString {get; set;}
}

public class ClassB
{
     public List<ClassA> MyObjects {get; set;}
}

List<ClassB> classBList = new List<ClassB>();
var results = (from i in classBList select i.MyObjects).Distinct();
Run Code Online (Sandbox Code Playgroud)

我想要一个不同的所有ClassA对象列表classBList.我如何使用LINQ解决这个问题?我正在考虑嵌套查询,但无法弄明白.非常感谢任何帮助.

c# linq linq-to-objects select

40
推荐指数
2
解决办法
8万
查看次数

在C#中规范化目录名称

这是问题,我有一堆像

S:\ HELLO\HI
S:\ HELLO2\HI\HElloAgain

在文件系统上,它将这些目录显示为

S:\ hello \嗨
S:\ hello2\Hi\helloAgain

C#中是否有任何函数可以为我提供目录的文件系统名称与正确的大小写?

.net c#

17
推荐指数
1
解决办法
8873
查看次数

使用Linq,如何对目标对象中的列表中的对象进行GroupBy

可能措辞不对,但这就是我所拥有的,这是我想要实现的结果:

class Cake
{
public List<string> Ingrediants {get;set;}
public DateTime Baked {get;set;}
public string CakeName {get;set;}
}

List<Cake> cakes= new List<Cake>();
cakes.Add(new Cake() {CakeName = "Cake1", Ingrediants = new List<string>() {"Sugar", "Chocolate"}});
cakes.Add(new Cake() {CakeName = "Cake2", Ingrediants = new List<string>() {"Sugar", "Butter"}});
cakes.Add(new Cake() {CakeName = "Cake3", Ingrediants = new List<string>() {"Stevia", "Butter"}});
Run Code Online (Sandbox Code Playgroud)

我想用ingrediant分组蛋糕.所以我想最终得到这个:

 - Sugar
        Cake1
        Cake2
 - Stevia
        Cake3 
 - Chocolate
        Cake1
 - Butter
        Cake2
        Cake3
Run Code Online (Sandbox Code Playgroud)

提前致谢!

c# linq grouping

6
推荐指数
2
解决办法
1848
查看次数

C#应用程序设置不使用自定义类保存

这是我试图存储的类

 [Serializable]
[XmlRoot(ElementName = "Database", IsNullable = false, Namespace = "http://somesite.com")]

class Database
{
    [XmlAttribute(AttributeName = "Name")]   
    public string Name { get; set; }

    [XmlAttribute(AttributeName = "Provider")]
    public DatabaseProvider Provider { get; set; }

    [XmlAttribute(AttributeName = "Driver")]
    public string Driver { get; set; }

    [XmlElement("DatabaseEntry")]
    public List<DatabaseEntry> SavedEntries { get; set; }

    public Database()
    {
        SavedEntries = new List<DatabaseEntry>();
    }

    public Database(string type, string provider, string driver)
    {

        Name = type;
        Driver = driver;
        Provider = DatabaseProvider.SqlClient;

        Provider = SetProvider(provider); …
Run Code Online (Sandbox Code Playgroud)

c# settings class appsettings

5
推荐指数
1
解决办法
4169
查看次数

Visual Studio不停地调整表单大小,请不要告诉它,帮助!

我正在运行visual studio 2008.每当我去设计师查看我的一个表单时,设计师都会使表单略大一些.这种情况发生在我有最小尺寸的表格上.我希望表单是最小的大小,为什么它会不断调整我的大小?

designer visual-studio

4
推荐指数
2
解决办法
6744
查看次数

如何在XSD中排除根元素?

我在我的XSD文件中定义了几个元素,我在文档中稍后将其用作参考.我确实希望这些"引用"元素中的任何一个构成有效的xml文件.

比如我有

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="Section">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Section" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="code"/>
            <xs:attribute name="url"/>
            <xs:attribute name="isLegacy"/>
            <xs:attribute name="name"/>
            <xs:attribute name="helpFileName"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="Sections">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Section" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

我不希望以下xml验证(如果这是文件中的唯一行)

<Section code="" url="" isLegacy="" name="" helpFileName="" />
Run Code Online (Sandbox Code Playgroud)

从全局删除"节"节点阻止我引用它以进行递归

xml xsd xml-validation

3
推荐指数
1
解决办法
1202
查看次数

C#Environment.GetDrives()在管理员模式下无法正常工作

当我在标准用户模式下运行此代码时,我得到了所有驱动器,包括网络驱动器.以管理员身份运行时,网络驱动器不会出现在列表中.是什么赋予了?

List<string> drives = Environment.GetLogicalDrives().ToList();
StringBuilder driveList = new StringBuilder();

foreach (string drive in drives)
    driveList.AppendLine(drive);

MessageBox.Show(driveList.ToString());
Run Code Online (Sandbox Code Playgroud)

这是在Windows 7下运行的.网络驱动器来自Novell.代码是使用.NET 4框架用C#编写的.

c# uac windows-7 elevated-privileges

2
推荐指数
1
解决办法
1004
查看次数