小编Joa*_*nge的帖子

IComparable的接口约束

当我想约束类型T可比时,我应该使用:

where T : IComparable
Run Code Online (Sandbox Code Playgroud)

要么

where T : IComparable<T>
Run Code Online (Sandbox Code Playgroud)

如果#2有道理,我无法理解.任何人都可以解释它的区别是什么?

.net c# generics interface icomparable

10
推荐指数
3
解决办法
2028
查看次数

为什么我不能在ListView.SelectedItems上使用LINQ?

我试图做使用.Select扩展方法上ListView.SelectedItemsSelectedListViewItemCollection,但.Select在智能感知不显示.

我可以使用foreachSelectedListViewItemCollection,所以它必须实施IEnumerable.我刚刚在MSDN上查了一下,确实如此.那为什么不能在它上面使用LINQ扩展方法呢?

.net c# listview winforms

10
推荐指数
2
解决办法
4582
查看次数

你能用F#定义自己的运算符吗?

有没有办法在F#中定义自己的运算符?

如果是这样,有人可以给我一个例子吗?我简短地搜索过,但找不到任何东西.

f# operators

10
推荐指数
1
解决办法
5617
查看次数

DirectX或OpenGL

如果您在C#中编写下一个3D图形密集型应用程序(如3D建模和动画软件),哪一个会是更好的选择?

如果我们认为C#是独立于平台的,那么OpenGL看起来很诱人,但性能等等呢?

由于使用的语言是C#,因此性能非常重要.

编辑:你也可以考虑SlimDX和TAO,OpenTK,csGL等.

.net c# opengl directx

9
推荐指数
4
解决办法
1万
查看次数

早期回报与嵌套的积极if语句

这是一些假设的代码示例:

if (e.KeyCode == Keys.Enter)
{
    if (this.CurrentElement == null) {
        return false;}

    if (this.CurrentElement == this.MasterElement) {
        return false;}

    if (!Validator.Exist (this.CurrentElement)) {
        return false;}

    if (!Identifier.IsPictureElement (this.CurrentElement)) {
        return false;}

    this.FlattenObjects(this.CurrentElement);
}
Run Code Online (Sandbox Code Playgroud)

VS

if (e.KeyCode == Keys.Enter)
{
    if (this.CurrentElement != null) {

        if (this.CurrentElement != this.MasterElement) {

            if (Validator.Exist (this.CurrentElement)) {

                if (Identifier.IsPictureElement (this.CurrentElement)) {

                    this.FlattenObjects(this.CurrentElement);}}}}}}

}
Run Code Online (Sandbox Code Playgroud)

您认为哪一个在可读性,维护等方面更好?

此外,第二个示例可以通过括号的不同使用来进行不同的格式化.

coding-style

9
推荐指数
1
解决办法
5551
查看次数

C#编译器在每次编译时不会立即报告所有错误吗?

当我编译这个项目时,它在错误列表窗口中显示400多个错误,然后我转到错误站点,修复一些,然后数字说120+错误,然后在修复一些之后,下一个编译报告再次像400+.我可以看到错误列表窗口中出现了不同的文件,所以我认为编译器在发生一定数量的错误后会中止?

如果是这样,原因是什么?它是否应该收集项目中存在的所有错误,即使它们超过10K +?

.net c# compiler-construction

9
推荐指数
2
解决办法
402
查看次数

何时在.NET中使用GC.Collect()?

可能重复:
何时可以调用GC.Collect?

据我所知,CLR为你做了所有这些垃圾收集,但是有理由手动调用GC.Collect()吗?

是否在关闭文件,处置图像资源或非托管资源时应该调用GC.Collect()以立即快速清理未使用的内存?

.net c# garbage-collection

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

为什么值不能在C#中隐式转换为字符串?

我有一些代码:

int value = 5;
MessageBox.Show ( value );
Run Code Online (Sandbox Code Playgroud)

MessageBox.Show抱怨说:

"无法从'int'转换为'string'"

我似乎记得一些情况,其中值似乎被隐式转换为字符串值,但无法准确地回忆它们.

这个决定背后的原因是什么,任何值都不能隐式转换为字符串值?

.net c# compiler-construction string implicit-conversion

9
推荐指数
2
解决办法
900
查看次数

如何使用Xaml中的SortDescriptions对TreeView项进行排序?

我有一个Layersbinded 列表TreeView,每个实例都有一个列表Effects.我通过HierarchicalDataTemplate显示它们,它工作得很好,但我正在尝试使用它们进行排序SortDescriptions.

我不知道如何在xaml中执行此操作,但这样做只对第一级别的项目进行排序,而不是子项目:

ICollectionView view = CollectionViewSource.GetDefaultView ( treeView1.ItemsSource );
view.SortDescriptions.Add ( new SortDescription ( "Name", ListSortDirection.Ascending ) );
Run Code Online (Sandbox Code Playgroud)

我试图先将它们排序.Color,然后依次排序.Name.

有任何想法吗?

编辑:我添加了这段代码:

<Window.Resources>

    <CollectionViewSource x:Key="SortedLayers" Source="{Binding AllLayers}">
        <CollectionViewSource.SortDescriptions>
            <scm:SortDescription PropertyName="Color" />
            <scm:SortDescription PropertyName="Name" />
        </CollectionViewSource.SortDescriptions>
    </CollectionViewSource>

</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

但这仍然只适用于第一级层次结构.如何为每个图层指定它.影响集合?

.net c# sorting wpf xaml

9
推荐指数
1
解决办法
1万
查看次数

C#中partial关键字的实际用法

我知道它允许visual studio将WinForms UI代码与UI事件等分开.但它有什么实际用途吗?

.net c# class

8
推荐指数
1
解决办法
1489
查看次数