我已经了解了.NET Standard和.NET Core之间的区别,但我真的不知道区别是什么,或者何时选择.NET标准库项目以及何时选择.NET Core库项目.
我已经读过.NET Standard是为了确保一组API始终可用,无论使用哪个平台(只要该平台与我选择的.NET标准版本兼容).如果我没有弄错的话,这意味着我可以创建一个.NET Standard类库,然后在任何与我选择的.NET Standard版本兼容的平台上使用它.
使用.NET Core,我已经读过它也是为了跨平台使用,所以如果我选择一个.NET Core库,我似乎也可以在许多平台上使用它,就像.NET Standard一样.
所以最后,我没有看到差异.我什么时候应该使用哪个?他们之间有什么区别?
我有一个SQLite数据库,版本3,我使用C#创建一个使用此数据库的应用程序.
我想在表中使用timestamp字段进行并发,但我注意到当我插入新记录时,此字段未设置,并且为null.
例如,在MS SQL Server中,如果我使用时间戳字段,这由数据库更新,我不必自己设置.这在SQLite中可能吗?
使用默认应用程序打开文件的最简单方法是:
System.Diagnostics.Process.Start(@"c:\myPDF.pdf");
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否存在将参数设置为默认应用程序的方法,因为我想在确定的页码中打开pdf.
我知道如何创建新进程并设置参数,但是这样我需要指明应用程序的路径,我希望有一个可移植的应用程序而不必设置应用程序的路径每次我在其他计算机上使用该应用程序.我的想法是,我希望计算机已经安装了pdf阅读器,只说明打开了哪个页面.
谢谢.
我正在使用Visual Studio 2015社区版,我知道它可以选择创建单元测试来测试代码,但我没有看到测试代码覆盖率的选项,所以我想知道Visual Studio是否有此选项或如果我必须使用第三方插件.
如果我必须使用第三方解决方案,那会是一个不错的选择吗?
我有一个申请.此应用程序使用接口访问数据库.该接口可以由许多类实现.例如,一个使用EF 4.4,但其他类可以使用效率更高的EF5.在将来,我可能会使用EF6,因为它使用异步方法.在此示例中,所有方法都使用EF,但也许其他方法可以使用其他方法.
应用程序编码一次,使用接口,并根据配置文件,使用一个实现或另一个,所以我只需要在一个地方修改代码,构造函数,在类的实例化中添加新选项分配给接口的.
目前所有类的方法都没有async
,但是将来如果我使用EF6我想使用异步方法,所以我不知道使用EF6并实现接口的类是否可能使用async
方法.
对于EF6的异步方法,我会使用async/awiat模式,所以在我的类的方法中我需要使用async属性.这让我await
在调用EF6的异步方法时使用关键字.
但是这个类可以实现第一次用于同步方法的接口吗?
有没有办法在主应用程序中我可以使用许多实现而无需修改代码?一些实现将使用异步方法,而其他实现将是同步的.
我的最后一个目标是始终舍入到最接近的偶数.
例如,1122.5196
我想要的数字作为结果1122
.我试过这个选项:
Math.Round(1122.5196d, 0, MidpointRounding.ToEven); // result 1123
Math.Round(1122.5196d, 0, MidpointRounding.AwayFromZero); // result 1123
Run Code Online (Sandbox Code Playgroud)
最后,我想得到它总是最近的偶数整数.例如:
1122.51 --> 1122
1122.9 --> 1122
(因为最近的int是1123
但它是奇数,且1122
是接近比1124
)1123.0 --> 1124
(下一个偶数值,下一个更高的偶数值)我只使用正数.
等等.
有一些方法可以做到这一点,或者我应该实现自己的方法?
我想更改数据库的所有表的所有列的排序规则.在堆栈溢出的其他帖子中我发现了这个脚本:( 发布)
SELECT 'ALTER TABLE [' + SYSOBJECTS.Name + '] ALTER COLUMN [' + SYSCOLUMNS.Name + '] ' +
SYSTYPES.name +
CASE systypes.NAME
WHEN 'text' THEN ' '
ELSE
'(' + RTRIM(CASE SYSCOLUMNS.length
WHEN -1 THEN 'MAX'
ELSE CONVERT(CHAR,SYSCOLUMNS.length)
END) + ') '
END
+ ' ' + ' COLLATE Latin1_General__CI_AI ' + CASE ISNULLABLE WHEN 0 THEN 'NOT NULL' ELSE 'NULL' END
FROM SYSCOLUMNS , SYSOBJECTS , SYSTYPES
WHERE SYSCOLUMNS.ID = SYSOBJECTS.ID
AND SYSOBJECTS.TYPE = 'U'
AND SYSTYPES.Xtype …
Run Code Online (Sandbox Code Playgroud) 我想在.net 4.0中创建的项目中使用async关键字.
如果我去nuget.org网站,我寻找"异步",我有很多结果,但主要是我得到这个:
Visual Studio异步CTP(版本3,非官方)0.3.0
两者之间的差异是什么?
我想在C#4.0中使用async/await,我已经安装了以下软件包:
http://www.nuget.org/packages/Microsoft.Bcl.Async/
问题是我没有async/await关键字可用.
我正在使用带有SP1的VS2010.
谢谢.
我想知道如何将流转换为字节.
我发现这个代码,但在我的情况下,它不起作用:
var memoryStream = new MemoryStream();
paramFile.CopyTo(memoryStream);
byte[] myBynary = memoryStream.ToArray();
myBinary = memoryStream.ToArray();
Run Code Online (Sandbox Code Playgroud)
但在我的情况下,在行paramFile.CopyTo(memoryStream)它没有发生任何异常,应用程序仍然有效,但代码不能继续下一行.
谢谢.
c# ×6
async-await ×3
.net ×1
.net-4.0 ×1
.net-core ×1
algorithm ×1
asynchronous ×1
byte ×1
c#-5.0 ×1
collation ×1
file ×1
interface ×1
math ×1
rounding ×1
sql-server ×1
sqlite ×1
stream ×1
timestamp ×1
unit-testing ×1