问题列表 - 第1922页

什么是垃圾收集器的意义

SqlConnection connection = new SqlConnection(FROM_CONFIGURATION) 
SqlCommand command = new SqlCommand("SomeSQL", connection); 
connection.Open(); 
command.ExecuteNonQuery(); 
command.Dispose(); 
connection.Dispose();
Run Code Online (Sandbox Code Playgroud)

建议上面的代码应该包含try/catch(或using),这样如果抛出异常,所有资源都会正确处理.

但是如果你不得不担心手动处理东西,那么GC有什么意义呢?!是不是GC在那里为编码器照顾这个?

.net garbage-collection

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

如何在 C# 2.0 中创建 Delphi TSpeedButton 或 SpeedButton?

如何在 C# 2.0 中创建 Delphi TSpeedButton 或 SpeedButton?

c# delphi

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

引用同一程序集的不同版本

如果A引用程序集B 1.1和C,而C引用B 1.2,那么如何避免程序集冲突?

我确实认为C的引用会被封装掉并且不会引起任何问题,但是看起来所有的dll都被复制到了bin,这就是问题发生的地方.

我理解这两种方法是使用GAC还是汇编绑定?GAC对我来说似乎不是最好的方法,因为我不喜欢假设dll会在那里,我更喜欢在我的解决方案中引用lib目录中的dll.

如果程序集绑定对我来说似乎不健壮,那么如果程序集的某个版本具有另一个版本的功能,那么这不会产生问题吗?


在我的情况下,因为我正在使用第三方dll使用旧版本的nHibernate,而不是我自己使用.

c# versioning dll build-process assemblies

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

编码恐怖或精彩创意的C++示例?

在以前的雇主,我们写的二进制消息必须"通过电线"到其他计算机.每条消息都有一个标准标题,例如:

class Header
{
    int type;
    int payloadLength;
};
Run Code Online (Sandbox Code Playgroud)

所有数据都是连续的(标题,紧接着是数据).我们希望得到有效载荷,因为我们有一个指向标题的指针.传统上,您可能会说:

char* Header::GetPayload()
{
    return ((char*) &payloadLength) + sizeof(payloadLength);
}
Run Code Online (Sandbox Code Playgroud)

甚至:

char* Header::GetPayload()
{
    return ((char*) this) + sizeof(Header);
}
Run Code Online (Sandbox Code Playgroud)

这看起来很冗长,所以我想出了:

char* Header::GetPayload()
{
    return (char*) &this[1];
}
Run Code Online (Sandbox Code Playgroud)

起初看起来相当令人不安,可能使用起来太奇怪 - 但非常紧凑.关于它是辉煌还是令人憎恶,有很多争论.

那么它是什么 - 犯罪编码,还是不错的解决方案?你曾经有过类似的权衡吗?

- 更新:

我们确实尝试过零大小的数组,但当时编译器发出了警告.我们最终采用了以下技术:消息来自Header.它在实践中很有效,但原则上你说的是一条消息IsA Header - 这看起来有点尴尬.

c++ syntax optimization

12
推荐指数
6
解决办法
2815
查看次数

如何在MS SQL Server中插入子选择的内容?

我想做点什么

insert into my table (select * from anothertable where id < 5)
Run Code Online (Sandbox Code Playgroud)

什么是正确的MSSQL语法?

谢谢!

sql-server

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

Oracle数据库角色 - 从没有模式标识符的模式中选择表

哪个Oracle数据库角色允许用户从另一个模式中的表中进行选择而不指定模式标识符?即,当用户A-格兰特选择A.table给用户B; 然后B可以 - "从表中选择*"而不指定"A".我们的一个数据库允许这个,另一个返回'表或视图不存在'错误.

database oracle roles grant

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

我可以在Visual Studio中创建一个位于.Designer.cs文件旁边的文件吗?

在Visual Studio中,在解决方案中创建新的Windows窗体时会创建两个文件(例如,如果创建MyForm.cs,则还会创建MyForm.Designer.cs和MyForm.resx).这两个后两个文件在解决方案资源管理器中显示为子树.

有没有办法将文件添加到Windows Form类的子树或组?

.net c# visual-studio-2008

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

如何仅在程序集发生更改时才使用MSBuild更新版本信息?

我需要在同一个虚拟文件夹中安装多个Web安装项目(使用VS2005和ASP.Net/C#).这些项目共享一些程序集引用(文件系统都被构造为使用相同的"bin"文件夹),因此部署对这些程序集的更改会出现问题,因为如果当前安装的版本比以前安装的版本旧,则MS安装程序将仅覆盖程序集. MSI.

我并不是说悲观的安装方案是错误的 - 只是它在我给予的环境中产生了问题.由于有相当数量的通用程序集和大量开发人员可能会更改通用程序集但忘记更新其版本号,因此尝试手动管理版本控制最终会导致安装时出现大量混淆.

在这个问题的另一面,同样重要的是不要自发更新版本号并在每次安装时替换所有通用程序集,因为这可能(暂时至少)模糊实际更改的情况.

也就是说,我正在寻找的是只有在程序集成分(代码模块,资源等)实际已经发生变化的情况下才更新程序集版本信息(最好使用MSBuild)的方法.

我已经发现了一些引用是至少部分相关这里(MSDN上的AssemblyInfo任务)和这里(类似于我所需要的,但两年多岁,没有一个明确的解决方案).

我的团队也使用TFS版本控制,因此自动化解决方案应该包括在构建期间可以检出/输入AssebmlyInfo的方法.

任何帮助将非常感激.

提前致谢.

c# asp.net installer

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

如何打开备用webbrowser(Mozilla或Firefox)并显示特定URL?

我知道有内置的Internet Explorer,但我正在寻找的是用指定的URL打开Firefox/Mozilla窗口(运行应用程序).任何人都可以告诉我如何在C#(.nET)中做到这一点?

.net c# browser

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

MSSQL存储过程中变量的语法是什么?

我有一个像这样的简单查询:

select * from mytable where id > 8
Run Code Online (Sandbox Code Playgroud)

我想让8变量.有一些语法,如

declare @myvar int
myvar = 8
Run Code Online (Sandbox Code Playgroud)

但我不知道确切的语法.

它是什么?

谢谢!

sql-server syntax

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