小编Luk*_*Luk的帖子

在C#中使用自定义千位分隔符

我试图在显示字符串时不使用','char作为千分隔符,而是使用空格代替.我想我需要定义一个自定义文化,但我似乎没有把它弄好.有什么指针吗?

例如:显示1000000为1 000 000而不是1,000,000

(不,String.Replace()不是我想要使用的解决方案:P)

c# formatting text-formatting

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

外键引用SQL Server中的2列主键

这个问题是非常相似,这一个,但对于SQL Server 2005:

我的数据库中有2个表:

--'#' denotes the primary key
[Libraries]
#ID   #Application  Name
 1     MyApp        Title 1
 2     MyApp        Title 2


[Content]
#ID   Application  LibraryID  Content
 10    MyApp       1          xxx
 11    MyApp       1          yyy
Run Code Online (Sandbox Code Playgroud)

(数据库显然要复杂得多,并且有这个双键是有道理的)

每个库都由其唯一ID和应用程序名称标识.我正在尝试确保每个内容都正确引用现有库.

创建约束时(使用向导)为

Primary key table            Foreign key table
[Libraries]                  [Content]
ID                  --->     LibraryID
Application         --->     Application
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

表'Libraries'中的列与现有主键或UNIQUE约束不匹配

你知道发生了什么吗?如果它可以使用SQL Server?(我根本无法修改[Library]表)

非常感谢你的帮助!

sql sql-server-2005 foreign-key-relationship

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

具有void输入的Lambda表达式

好的,非常愚蠢的问题.

x => x * 2
Run Code Online (Sandbox Code Playgroud)

是一个lambda,代表与委托相同的东西

int Foo(x) { return x * 2; }
Run Code Online (Sandbox Code Playgroud)

但是什么是lambda相当于

int Bar() { return 2; }
Run Code Online (Sandbox Code Playgroud)

??

非常感谢!

c# lambda c#-3.0

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

将列默认值绑定到SQL 2005中的函数

我有一个包含可由用户排序的项目的列:

DOC_ID  DOC_Order DOC_Name
   1       1        aaa
   2       3        bbb
   3       2        ccc
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到一种方法来在创建条目时正确初始化DOC_Order.一个好的值可能是相应的DO-CID(因为它是自动分配的),或MAX(DOC-ORDER)+ 1

经过一些谷歌搜索后,我看到可以将标量函数的返回值分配给默认列.

CREATE FUNCTION [dbo].[NEWDOC_Order] 
(
)
RETURNS int
AS
BEGIN

RETURN (SELECT MAX(DOC_ORDER) + 1 FROM DOC_Documents)

END
Run Code Online (Sandbox Code Playgroud)

但是,我使用MS SQL Management Studio的每次尝试都以"验证列'DOC_Order'的默认值"错误消息结束.

知道将函数分配给DEFAULT的确切SQL语法是什么?

sql t-sql sql-server-2005 default-value

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

"TryParse/Parse like"模式:实现它的最佳方式是什么

这个问题是如何表明方法不成功的后续问题.xxx()Tryxxx()模式在许多库中非常有用.我想知道在不重复我的代码的情况下提供这两种实现的最佳方法是什么.

什么是最好的:

public int DoSomething(string a)
{
     // might throw an exception
}
public bool TrySomething(string a, out result)
{
    try
    {
        result = DoSomething(a)
        return true;
    }
    catch (Exception)
    {
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

要么

public int DoSomething(string a)
{
     int result;
     if (TrySomething(a, out result))
     {
         return result;
     }
     else
     {
         throw Exception(); // which exception?
     }
}
public bool TrySomething(string a, out result)
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

我本能地假设第一个例子更正确(你确切知道发生了哪个异常),但是try/catch不能太昂贵吗?有没有办法在第二个例子中捕获异常?

design-patterns try-catch return-value

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

服务器端ASP.Net Ajax异常处理

我正在使用ASP.net的AJAX框架,我正在尝试在javascript上调用webservice进行异常日志记录.

通过网络浏览,我发现有些人在客户端处理它们并将它们发送回服务器.我不喜欢这样做,因为它依赖于其他服务器调用(如果第一次失败,发送其他请求看起来不是一个好主意,这让我改变了所有的调用)

我看到其他人用try ... catch块来装饰他们所有的方法(导致重复的错误处理,还有另一个尝试catch块).

但是,我正在尝试实现类似于global.asax的类似Application_Error()处理每个未捕获的异常(nope,它似乎不会被称为AJAX调用方法异常).

这甚至可能吗?

asp.net asp.net-ajax

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

"ref"关键字和引用类型

我的团队中的某个人偶然发现了引用类型上ref关键字的特殊用法

class A { /* ... */ } 

class B
{    
    public void DoSomething(ref A myObject)
    {
       // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有人理智会做这样的事情?我在C#中找不到这个用途

.net c# ref reference-type pass-by-reference

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

ASP.Net上的预编译和启动时间

我正在ASP.Net 2.0中开发一个(相对较小的)网站.在发送可执行文件之前,我还使用nAnt对我的项目进行一些简单的调整.在目前的状态下,该网站使用"预编译"

aspnet_compiler.exe -nologo -v ${Appname} -u ${target}

我注意到在重新启动IIS池之后(在空闲关闭或循环之后),应用程序在重新联机(并且到达Application_start)之前最多需要20秒.

我在Visual Studio中直接调试时没有相同的问题(启动需要2秒),所以我想知道aspnet_compiler是不是真的好主意.

我在MSDN上找不到多少.如何编译您的网站进行制作?

c# asp.net compilation aspnet-compiler startup

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

城堡/活动记录:你如何计算物体?

我正在尝试用NHibernate上的Castle做一个简单的"从日期> xxx的产品中选择计数(*)".

如果我直接使用NHibernate,我可以重用这个问题的答案,但不幸的是我看不到从Castle Records访问当前NHibernate会话的简单方法.

我显然不想检索所有对象并在C#端执行Count;).我只需要知道有多少物体.

有任何想法吗?

.net sql nhibernate castle-activerecord

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

更快速地搜索C#List <String>以获取子字符串

我目前有一个名为regkey的列表和一个名为line_to_delete的字符串,我显然想从列表中删除它.目前我正在搜索列表中的一个元素,一次创建子字符串,因为line_to_delete仅表示我要删除的行的一部分,但在列表中是唯一可识别的.

无论如何,我真正需要做的是提高效率,减少资源使用并加快速度,所以有什么方法可以做到这一点吗?

c# performance list

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