相关疑难解决方法(0)

Visual Studio 2008 vs 2005或C#3.0与C#2.0有什么新内容?

我正在浏览C#问题的隐藏功能,并认为我会尝试一个我不熟悉的功能.不幸的是我使用的是Visual Studio 2005,稍后会介绍相关功能.C#3.0(Visual Studio 2008)与C#2.0(Visual Studio 2005)中的新功能是否有很好的列表?

c# visual-studio-2005 .net-3.0 visual-studio-2008 .net-2.0

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

获取变量(非硬编码)名称?

我正在寻找一种方法来检索变量名称,因此我不需要在需要时使用硬编码声明(对于属性名称等):

我几乎不相信这是可能的; 也许有人有解决方案.注意:即使不是变量,属性也会是一个举动.

'Pseudo:
Module Module1

    Sub Main()
        Dim variable = "asdf"
        Dim contact As New Contact

        Dim v1 = GetVariableName(variable) 'returns variable
        Dim v2 = GetVariableName(contact.Name) 'returns Name

    End Sub

    Class Contact
        Public ReadOnly Property Name()
            Get
                Return Nothing
            End Get
        End Property
    End Class

    Public Function GetVariableName(variable As Object) As String
        ':}
    End Function

End Module
Run Code Online (Sandbox Code Playgroud)

答案在VB或C#中都很受欢迎.

.net reflection variables declaration

3
推荐指数
2
解决办法
2586
查看次数

C#语法快捷方式

我想知道是否存在C#语法快捷方式的集合或列表.简单地省略if语句上的花括号,直到像??coalesce运算符这样的东西.

c# syntax shortcuts

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

将结构传递给接口字段是否分配?

我有一个像这样的结构

struct MyStructure
    :IFoo
{
}
Run Code Online (Sandbox Code Playgroud)

和这样的方法:

public BarThisFoo(IFoo a)
{

}
Run Code Online (Sandbox Code Playgroud)

我的问题是将结构传递给该方法的"框"结构,从而导致垃圾分配?

附录:在有人说之前,垃圾收集在这个应用程序中不是免费的,它实际上对垃圾收集非常敏感,所以免费分配代码很重要.

c# garbage-collection

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

C#:指向多个整数的引用/指针数组

我想在数组中引用一些短路.我假设我可以创建短裤,然后将它们添加到阵列中.所以......每次更改引用的对象时,都会反映在数组中,反之亦然.做一些试验使我确信它不是那么有效.事实上,看起来价值是转移而不是参考.

下面的代码创建了两个short,将这些作为对象添加到数组中,然后更改原始short.但是,当访问数组中假定的引用short时它没有改变,这使我相信它是一个与原始对象无关的全新对象.

        Console.WriteLine("Testing simple references:");
        short v1 = 1;
        short v2 = 2;
        object[] vs = new object[2];
        vs[0] = v1;
        vs[1] = v2;
        v1 = 1024;
        v2 = 512;
        Console.WriteLine(" v1: " + (short)vs[0]);
        Console.WriteLine(" v2: " + (short)vs[1]);
Run Code Online (Sandbox Code Playgroud)

我在这里误解了一些基本的东西,如果有人可以解释,我会很感激,并且可能会指出一个可以做我想做的解决方案.

c# pointers integer reference short

3
推荐指数
2
解决办法
6599
查看次数

C#3.0中的概念

当一个人从C#2.0 C#3.0迁移时,他需要学习哪些概念?

扩展方法,lambda表达式,Linq.

c# language-features c#-3.0

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

C#INotifyPropertyChanged处理程序

我开始阅读有关MVVM的内容,我看到的一个模式是:

public event PropertyChangedEventHandler PropertyChanged;
//.....

PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
    var e = new PropertyChangedEventArgs(propertyName);
    handler(this, e);
}
Run Code Online (Sandbox Code Playgroud)

为什么要费心声明这个handler变量呢?它只是让我觉得不必要的复杂代码,但我甚至可以在微软自己的教程中看到这一点,为什么不把它用作:

if (this.PropertyChanged != null)
{
    var e = new PropertyChangedEventArgs(propertyName);
    this.PropertyChanged(this, e);
}
Run Code Online (Sandbox Code Playgroud)

c# wpf events mvvm

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

C#/ .NET,看什么?

我看到很多C#/ .NET程序员的招聘广告,所以我认为看看它可能是一个好主意.

看了几个教程后,我发现对我来说没有什么新东西.只是一种语法在Java和C++之间的某种语言(尽管可能比两者都好).

那么,我应该关注哪些功能?有哪些特殊功能?C#/ .NET如此庞大的原因是什么?什么是杀手级的功能或者可能是一些真正邪恶的语言?

我们非常欢迎链接和代码示例.

我在Linux上使用Mono实现.

c#

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

了解隐藏的功能

今天我发现了一个我以前从未听说过的界面: IGrouping

IEnumerable<IGrouping<YourCategory, YourDataItem>>
Run Code Online (Sandbox Code Playgroud)

我很幸运能够获得一些最好的编程书籍,但我很少在这些书中遇到这些宝石.博客和播客工作,但这种方法有点散射.有没有更好的方法来学习这些东西,还是我需要筛选整个MSDN库来发现它们?

.net c#

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

C#评论技术/评论的重用

我一般在一个班级中宣称一个私人领域的土地以及一个从外面进入这个领域的公共财产(到目前为止没有什么壮观的笑容):

private bool doILookGood;

public bool DoILookGood
{
   get { return doILookGood; }
   set { doILookGood = value; }
}
Run Code Online (Sandbox Code Playgroud)

现在我想知道是否有一种优雅而有效的方式来评论这种情况,而无需两次写同样的评论.换句话说,我希望保留IDE在使用工具提示进行鼠标悬停时向我显示变量注释的功能.

到目前为止,我正在以这种方式发表评论:

/// <summary>
/// This i always true.
/// </summary>
private bool doILookGood;

/// <summary>
/// This i always true.
/// </summary>
public bool DoILookGood
{
   get { return doILookGood; }
   set { doILookGood = value; }
}
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

/// <summary>
/// This i always true.
/// </summary>
private bool doILookGood;

/// <summary cref="doILookGood" />
public bool …
Run Code Online (Sandbox Code Playgroud)

.net c# coding-style xml-documentation visual-studio

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

如何读取数据一次,然后在C#中对所述数据执行多次操作?

我用3个按钮创建了一个WindowsForm应用程序.单击任何按钮可以读取c:\data.txt并执行不同的数据"分析".按钮1可能会添加数字data.txt,按钮2可能会对它们进行平均,按钮3可能会将它们相乘.

在每个下面private void button1_Click我都有一行代码从data.txt中读取数据.这对我来说似乎效率低下,因为在3个按钮点击事件中每个都有相同的"ReadLines"代码.

有没有办法只是ONCE读取数据,然后我的按钮执行他们的分析?

这样,"ReadLines"代码仅使用一次,并且数据以某种方式与任何button1_Click事件共享.

c# visual-studio-2010 winforms

0
推荐指数
1
解决办法
78
查看次数

新的C#,如何找到导航对象/集合的路线图?

好的,所以我是来自ColdFusion,PHP,Javascript的C#Windows App开发的新手.我想,我对它的反应相当好.我理解OO的基本概念以及它们是如何在C#中实现的,但我正在努力学习如何找到我正在寻找的东西,以及在对象,方法,集合等方面可以使用的东西.

例如.我有一个数据视图(名为"绘图"),我想使用RowFilter过滤它,所以我这样做:

drawing.RowFilter = "partNo = '" + partNo + "'";
Run Code Online (Sandbox Code Playgroud)

作为初学者,我现在如何知道如何访问该数据视图中的特定数据字段?我终于摸索了,并且能够以两种不同的方式做到:

drawing[0].Row.ItemArray[0]
  or
drawing[0][0]
Run Code Online (Sandbox Code Playgroud)

我的问题是:我如何做更少的摸索,更多的理解和导航......本质上是生产力而不是猜测!?我已经逐步阅读了Visual C#.NET和Apress'Beginning C#OO,但他们似乎都没有告诉我如何导航这样的语言或者给出这个细节.这意味着这只是一个幸运而不是理解的问题,这似乎是浪费时间.我知道理解会随着时间和经验而来,但必须有更好的学习方法.无论是在基础层面还是在基础层面上存在着基本的理解,如果是这样的话,它是什么?

那么我怎么知道在数据视图中找到一个字段的值:"dataview"[index] .Row.ItemArray [index]?

我没有在书中看到它,我似乎无法在msdn网站上找到它:http://msdn.microsoft.com/en-us/library/01s96x0z.aspx

我只是一厢情愿吗?

c# syntax reference

-1
推荐指数
1
解决办法
196
查看次数