小编Kev*_*ild的帖子

我可以使用无符号右移来阻止C#中的整数溢出吗?

我希望alwaysPositive被分配一个正数,其中包含lareValue1和largeValue2的所有可能值(这些值至少为1).

以下语句导致缓冲区溢出:

int alwaysPositive = (largeValue1 + largeValue2) / 2;
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过减去和添加来阻止它:

int alwaysPositive = largeValue1 + ((largeValue2 - largeValue1) / 2);
Run Code Online (Sandbox Code Playgroud)

但在其他编程语言中,我可以使用无符号位移来实现这一诀窍:

int alwaysPositive3 = (largeValue1 + largeValue2) >>> 1;
Run Code Online (Sandbox Code Playgroud)

我怎么能在C#中做到这一点?


以下答案都解决了这个问题.可能有很多方法可以做到这一点,但它们(包括我的解决方案)都有一个共同点:它们看起来都是混淆的.

c# integer-overflow bit-shift

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

建议选择SSIS组件来执行SFTP或FTPS任务是什么?

有时普通的FTP并没有完全削减它......当你需要通过SSIS软件包进行安全的FTP时,你会推荐哪种产品?

在回答之前,请查看某人是否已经提出相同的建议,如果是,请将其投票.

NOTE: 理想情况下,它需要处理SSH和SSL FTP连接,但如果它最有意义,我会考虑两个独立的组件....

ftp sftp ssis ftps

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

将列表排序为多个垂直列

有没有人有一个很好的算法来重新排序一个值数组(已经预先排序),以便它们可以显示在多个(N)列中并垂直读取?这将在.Net中实现,但我更喜欢可移植的东西,而不是一些神奇的功能.

它工作的一个很好的例子是ASP.Net CheckBoxList控件呈现为一个方向设置为垂直的表.

这是输入和输出的示例:

输入:

Columns = 4
Array = {"A","B","C","D","E","F","G"}

输出:

ACEG
BDF

谢谢!

更新(更多信息):

我想我可能需要提供一些关于我正在尝试做什么的更多信息...大多数问题来自于使用CheckBoxList的自动绑定(在这里你可以指定列和方向输出,它会输出使用jQuery/AJAX创建复选框网格的正确顺序的项目表.所以我试图使用具有指定宽度的div块的css复制该布局(在已知宽度的容器div内),因此它们包裹在N个项目(或列)之后.这也可以在表格中呈现(就像ASP一样) .Net做到了.)

一切都很好,除了顺序是水平的,当你在列表中获得大量项目时,更容易阅读垂直列.

如果数组中没有足够的项来生成偶数网格,那么它应该在网格的正确行/列中输出一个空白点.

如果一个数组没有足够的项目来制作一行,那么只需按原始顺序输出一行.

其他一些输入/输出可能是:

Columns = 3
Array = {"A","B","C","D"}

ACD
B.

Columns = 5
Array = {"A","B","C","D","E","F","G","H"}

ACEGH
BDF

Columns = 5
Array = {"A","B","C","D"}

A B C D

.net sorting checkbox list

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

检查数值的精度和比例的有效方法是什么?

我正在编写一个例程,在将数据插入数据库之前对其进行验证,其中一个步骤是查看数值是否符合数字(x,y)SQL-Server类型的精度和比例.

我已经从SQL-Server获得了精度和规模,但是在C#中获得CLR值的精度和规模的最有效方法是什么,或者至少测试它是否适合给定的约束?

目前,我正在将CLR值转换为字符串,然后使用.IndexOf()查找小数点的位置.有更快的方法吗?

c# sql-server .net-3.5

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

好复杂的linq到sql样本?

我正在寻找一种更复杂的使用Linq to SQL的方法.我倾向于使用L2Q,但我只看到了业务对象和简单CRUD操作的简单示例.

任何包含以下示例的应用程序:

1-业务对象,它从多个表和多个表中获取数据.

2-跟踪数据更改并自动在简单操作中更改多个表.一个聪明的SubmitChanges?(不知道这是否可能 - 现在我编写自己的存储过程以完成所有工作,而且我以某种方式设计我的数据库,因此我更容易使用Linq to SQL!)

3-很好地利用表之间的关系.它不仅仅是将表拖入设计器中.

4-交易

5-断开数据.在ASP.NET中使用.

6-N-Tier架构

7-基本上,更复杂地使用LINQ to SQL和学习良好的设计模式

8- Skip Linq to SQL并转移到Linq to Entities?

我觉得我没有充分利用Linq,它只是给了我很好的intellisense和更容易的查询,我觉得它有更多的东西,但不知道是什么以及如何.我正在寻找真实生活的复杂样本,这些样本可以成为学习书籍和教程所提供的良好资源.

CodePlex上还有什么?谷歌代码......等?

asp.net linq-to-sql

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

抑制代码分析应用程序错误

我们的winform应用程序引用的Crystal库会导致代码分析出错:

警告1 CA0060:找不到间接引用的程序集"BusinessObjects.Licensing.KeycodeDecoder,Version = 13.0.2000.0,Culture = neutral,PublicKeyToken = 692fbea5521e1304".分析不需要此装配,但分析结果可能不完整.此程序集由以下引用引用:C:\ Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet\CrystalDecisions.CrystalReports.Engine.dll.

在一些不同的主题中,SAP" 支持 "承认这是他们的问题(http://scn.sap.com/thread/2153539),尽管他们很快指出它不会影响他们的产品直接,所以修复它是低优先级的.它被分配了参考号ADAPT01629826,但它们似乎仍然在空中直到他们真正解决问题的时候.

这是代码分析应用程序警告(http://msdn.microsoft.com/en-us/library/ms245349.aspx),而不是正常的代码分析警告.

因此,Visual Studio不提供通常的"Suppress Message(s)"上下文菜单.我希望有一种方法可以使用GlobalSuppressions或类似的东西,但可以使用一些帮助......

即使SAP对坏装配参考没有对其产品产生功能影响是正确的,它仍然困扰着我.与原始海报一样,我不希望代码分析出现任何错误/警告.

我相信其他人已经碰到了这个 - 或者至少是类似的东西.你是怎么处理的呢?有没有办法从代码分析中排除这个特定的警告,所以它不再显示?

虽然我不喜欢硬编码排除,但它似乎比等待SAP实际推出修复更可靠的解决方案.

sap code-analysis visual-studio-2010 crystal-reports

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

从另一个数据库创建数据库?

SQL Server 2005中是否有自动方法从另一个数据库中的多个表创建数据库?我需要处理一个项目,我只需要几个表来在本地运行它,我不想备份50 gig DB.

UPDATE

我尝试了管理工作室中的任务 - >导出数据,虽然它创建了一个包含我想要的表的新子数据库,但它没有复制任何表元数据,即...没有PK/FK约束和没有身份数据(偶数)选中Preserve Identity).

我显然需要这些来工作,所以我愿意接受其他建议.我将尝试该数据库发布工具.

我没有可用的Integration Services,并且两个SQL Server无法直接相互连接,因此它们已经出来了.

更新更新

数据库发布工具工作,它生成的SQL有点错误,所以需要一点手编辑(试图引用不存在的触发器),但是一旦我这样做,我就很高兴.

t-sql sql-server-2005

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

将关系数据从数据库复制到数据库

编辑:让我完全改写一下,因为我不确定是否有像我最初描述的XML方式.

还有另一个编辑:这需要是一个可重复的过程,并且必须能够以可以在C#代码中调用的方式进行设置.

在数据库A中,我有一组与PK和FK相关的表.一个父表,包括子表和孙表,让我们说.

我想将一组行从数据库A复制到数据库B,数据库B具有相同名称的表和字段.对于每个表,我想插入数据库B中的同一个表中.但我不能限制使用相同的主键. 复制例程必须为数据库B中的每一行创建新的PK,并且必须将这些PK传播到子行.换句话说,我在数据之间保持相同的关系,但不是完全相同的PK和FK.

你怎么解决这个问题?我愿意接受建议.SSIS并没有完全被排除在外,但它并不像我这样对待它.我也对LINQ中的解决方案,或者使用类型化的DataSet,或者使用某些XML,或者只是在SQL Server 2005和/或C#(.NET 3.5)中可以使用的任何东西开放.最好的解决方案不需要SSIS,也不需要编写大量代码.但我会承认,这种"最佳"解决方案可能不存在.

(我没有自己完成这项任务,也没有限制;这就是给我的方式.)

sql sql-server sql-server-2005 .net-3.5

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

SQL中临时表与物理表的比较速度是多少?

我有一个脚本需要临时提取数据以对其执行额外的操作,但是在脚本运行后不需要再存储它.我目前在一系列临时本地表(CREATE TABLE #table)中有相关数据,然后在使用完成时将其删除.我正在考虑切换到物理表,以相同的方式处理(CREATE TABLE表),如果脚本的速度有所提高(或者其他优点,可能?).

...那么,临时表和物理表之间的性能是否存在差异?从我正在阅读的内容来看,临时表只是物理表,只有运行脚本的会话才能查看(减少锁定问题).

编辑:我应该指出,我在谈论物理表与临时表.有很多关于临时表和表变量的信息,例如http://sqlnerd.blogspot.com/2005/09/temp-tables-vs-table-variables.html.

sql t-sql sql-server sql-server-2005

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

从结果集创建长字符串

我在存储过程中的MS-SQL中有一个结果集,并且假设它有一个VARCHAR列,但是有很多行.我想创建一个逗号分隔的字符串,包含所有这些值,是否有一个简单的方法,或者我将不得不逐步完成每个结果并手动构建字符串?

我想在存储过程本身中这样做.

sql t-sql string

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