我希望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#中做到这一点?
以下答案都解决了这个问题.可能有很多方法可以做到这一点,但它们(包括我的解决方案)都有一个共同点:它们看起来都是混淆的.
有时普通的FTP并没有完全削减它......当你需要通过SSIS软件包进行安全的FTP时,你会推荐哪种产品?
在回答之前,请查看某人是否已经提出相同的建议,如果是,请将其投票.
NOTE: 理想情况下,它需要处理SSH和SSL FTP连接,但如果它最有意义,我会考虑两个独立的组件....
有没有人有一个很好的算法来重新排序一个值数组(已经预先排序),以便它们可以显示在多个(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
我正在编写一个例程,在将数据插入数据库之前对其进行验证,其中一个步骤是查看数值是否符合数字(x,y)SQL-Server类型的精度和比例.
我已经从SQL-Server获得了精度和规模,但是在C#中获得CLR值的精度和规模的最有效方法是什么,或者至少测试它是否适合给定的约束?
目前,我正在将CLR值转换为字符串,然后使用.IndexOf()查找小数点的位置.有更快的方法吗?
我正在寻找一种更复杂的使用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上还有什么?谷歌代码......等?
我们的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实际推出修复更可靠的解决方案.
SQL Server 2005中是否有自动方法从另一个数据库中的多个表创建数据库?我需要处理一个项目,我只需要几个表来在本地运行它,我不想备份50 gig DB.
UPDATE
我尝试了管理工作室中的任务 - >导出数据,虽然它创建了一个包含我想要的表的新子数据库,但它没有复制任何表元数据,即...没有PK/FK约束和没有身份数据(偶数)选中Preserve Identity).
我显然需要这些来工作,所以我愿意接受其他建议.我将尝试该数据库发布工具.
我没有可用的Integration Services,并且两个SQL Server无法直接相互连接,因此它们已经出来了.
更新更新
数据库发布工具工作,它生成的SQL有点错误,所以需要一点手编辑(试图引用不存在的触发器),但是一旦我这样做,我就很高兴.
编辑:让我完全改写一下,因为我不确定是否有像我最初描述的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,也不需要编写大量代码.但我会承认,这种"最佳"解决方案可能不存在.
(我没有自己完成这项任务,也没有限制;这就是给我的方式.)
我有一个脚本需要临时提取数据以对其执行额外的操作,但是在脚本运行后不需要再存储它.我目前在一系列临时本地表(CREATE TABLE #table)中有相关数据,然后在使用完成时将其删除.我正在考虑切换到物理表,以相同的方式处理(CREATE TABLE表),如果脚本的速度有所提高(或者其他优点,可能?).
...那么,临时表和物理表之间的性能是否存在差异?从我正在阅读的内容来看,临时表只是物理表,只有运行脚本的会话才能查看(减少锁定问题).
编辑:我应该指出,我在谈论物理表与临时表.有很多关于临时表和表变量的信息,例如http://sqlnerd.blogspot.com/2005/09/temp-tables-vs-table-variables.html.
我在存储过程中的MS-SQL中有一个结果集,并且假设它有一个VARCHAR列,但是有很多行.我想创建一个逗号分隔的字符串,包含所有这些值,是否有一个简单的方法,或者我将不得不逐步完成每个结果并手动构建字符串?
我想在存储过程本身中这样做.