小编Nat*_*n W的帖子

人们为什么喜欢区分大小写?

只是想知道为什么人们喜欢编程语言的区分大小写?我不是想开始一场火焰战,只是好奇这一切.
我个人从来没有真正喜欢它,因为我发现我的生产力下降,因为我尝试过一种具有区分大小写的语言,请注意我现在慢慢升温/习惯它现在我正在使用C#和F#更多然后我曾经.

那么你为什么喜欢它?

干杯

c# case-sensitive

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

在Visual Studio的快递版本中进行TDD的最佳方式(例如VB Express)

我一直在寻找为我正在编写的一个应用程序(OLE对象的OLE包装器)进行一些测试驱动开发.唯一的问题是我正在使用Visual Studio的快速版本(目前),目前我正在使用VB express,但有时我使用C#express.

是否有可能在快递版本中进行TDD?如果是这样的话,那是什么呢?

干杯.

编辑.通过外观我将不得不购买完整的视觉工作室,以便我可以做集成TDD,希望预算中有钱购买副本:).现在我觉得我会像所有人都说的那样使用Nunit.

c# vb.net testing tdd unit-testing

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

使用Interface +抽象类进行继承设计.好的做法?

我不确定如何标题这个问题,但基本上我有这样的界面:

public interface IFoo
{
    string ToCMD();
}
Run Code Online (Sandbox Code Playgroud)

一些实现IFoo的absract类如:

public abstract class Foo : IFoo
{
   public abstract string ToCMD();
}

public abstract class Bar : IFoo
{
    public abstract string ToCMD();
}
Run Code Online (Sandbox Code Playgroud)

那么继承Foo和Bar的类:

public class FooClass1 : Foo
{
    public override string ToCMD()
    {return "Test";}
} ///there are about 10 foo classes.

public class BarClass : Bar
{
    public override string ToCMD()
    {return "BarClass";}
} ///about the same for bar classes.
Run Code Online (Sandbox Code Playgroud)

我这样做是为了当我有自定义列表时:

public class Store<T> : List<T>  where T …
Run Code Online (Sandbox Code Playgroud)

c# oop inheritance

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

使用项目特定的前缀和自动编号为主键?

今天早上我们开了一个会议,讨论如何将我们的ID存储在我们正在制作的数据库中的某些资产中,这些描述产生了一些热量,所以我决定咨询SO的专家.

我相信我们应该拥有的表格结构(简短版本)如下所示:

例1)

  • AssetId - int(32) - 主键
  • 类型 - 字符串

所以一些示例数据是这样的:

==AssetId======Type===
  12345        "Manhole"
  155415       "Pit"
Run Code Online (Sandbox Code Playgroud)

等等

团队的另一名成员建议这样的事情:

例2)

  • AssetId - 字符串 - 主键
  • 类型 - 字符串

所以一些示例数据是这样的:

==AssetId======Type===
  "MH12345"    "Manhole"
  "P155415"    "Pit"
Run Code Online (Sandbox Code Playgroud)

我们制作该类型的简短版本并将其附加到ID的前面并将其存储在数据库中.我已经看到一些资产数据库这样做,从来没有真正的这种方法.

我从来没有真正喜欢使用字符串作为ID来排序的原因.当你已经拥有资产商店的类型时,我也觉得存储无用的信息只是为了它.

你会采取什么方法?为什么?使用方法1超过2有什么好处?

编辑:是的我将使用AUTO_INCREMENT方法1.

database-design primary-key

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

你怎么看待VB 10中的多行lambdas

我正在观看MSDN第9频道的视频,可以在这里找到,关于Visual Basic 10中的一些新功能.现在我喜欢大多数新功能,其中一些已经期待已久(自动属性和集合初始化器)引起我注意的是C#中的多行lambdas.

在视频中他使用了这样一个例子:

Dim scores = {10,20,30,40,50}
Dim thread as new Threading.Thread(Sub()
                                   For Each o in scores
                                     console.writeline(o)
                                     Next
                                   End Sub)
Run Code Online (Sandbox Code Playgroud)

现在我喜欢VB的所有冗长,但我只是有点担心编写子... end sub inline可能会有点混乱,当你只需要使用某些东西时,我可以看到在编写C#时内联的一些优点像c => {....},你可以删除很多代码.

你在VB中对多行lambda有什么看法?

你会发现它们有用吗?

vb.net lambda

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

在应用程序中使用256 x 256 Windows Vista图标

我有一个应用程序,我已经制作了一个256 x 256 Windows Vista图标.

我想知道如何在用作应用程序图标的ico文件中使用256x256 PNG文件并将其显示在表单上的图片框中.

我使用的是VB.NET,但C#中的答案很好.我想我可能不得不使用反射.

我不确定这在Windows XP中是否可行,并且可能需要Windows Vista API

c# vb.net icons png

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

在visual studio中的xml注释中显示泛型类,例如Table <String>

我知道这可能是一个基本问题,但我似乎无法在任何地方找到答案.

我有这样的课

Table<T>
{}
Run Code Online (Sandbox Code Playgroud)

然后我有一些代码使用上面的类,我想评论我希望能够做类似的事情:

/// <summary>
/// blah blah blah Table<String>
/// </summary>
Run Code Online (Sandbox Code Playgroud)

但我不能在评论中使用尖括号,因为它认为它是一个标记,当帮助显示时它只是有一个关于没有结束标记的错误.

如何在Visual Studio中的注释中显示泛型类.

comments visual-studio

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

更好的词来推断变量以外的变量

这可能会被关闭,但无论如何我都会尝试.

我前几天向一位VB6程序员展示了我的一些C#代码,他注意到了var关键字,就像"哦,一种变体类型,当你这样做时,打字不是很强." 我不得不继续典型的"var!= VARIANT"演讲向他解释它不是一个只是编译推断的变种.

我在考虑他们(C#团队)可以使用的其他词语,所以这种事情没有发生.我个人喜欢推断,比如:

 infer person = new Person("Bob");
Run Code Online (Sandbox Code Playgroud)

我知道这不是什么大不了的事,但只是好奇地看到其他人会用来做同样的事情.

我把它变成了一个社区wiki,因为它没有真正的答案.

c# language-design

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


用NHibernate和PostgreSQL引用列名

我已经开始使用NHibernate 3.0和PostgreSQL进行一个小项目,到目前为止,由于NHibernate站点已关闭,这个过程有点粗糙,我确信这个答案在他们的网站上.

我有一个包含这两列的数据库(当然在真实表中还有更多):

int ID
String Feature
Run Code Online (Sandbox Code Playgroud)

现在我正在使用FluentNHibernate进行映射,所以这样的事情:

public class MyEntityMap: ClassMap<MyEntity>
{
    public MyEntityMap()
    {
        Id(x => x.ID);
        Map(x => x.Feature);
    }
}
Run Code Online (Sandbox Code Playgroud)

和一个LINQ查询来获取数据

var strucs = from str in session.Query<MyEntity>()
             where str.ID < 5
             select str;
Run Code Online (Sandbox Code Playgroud)

该查询将生成正确的SQL语句.问题是,因为我的列名中有大写字母,你必须用引号将它们包装起来,但生成的SQL代码看起来像这样:

SELECT this_.ID as ID0_0_, this_.feature as feature0_0_, 
       FROM "MyEntity" this_ WHERE this_.ID < 5
Run Code Online (Sandbox Code Playgroud)

列中没有引号.如果我运行这个,我得到一个"列this_.id"找不到等.

有谁知道如何让NHibernate将列名包装在引号中?

编辑:我不能小写列名称,因为有些列第三方程序需要全部为大写.

我尝试添加.ExposeConfiguration(cfg => cfg.SetProperty("hbm2ddl.keywords","auto-quote")但它似乎没有做任何事情.

c# postgresql nhibernate fluent-nhibernate

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