Tag: C#的

VB.NET与C#整数除法

任何人都在意解释为什么这两个代码显示不同的结果? VB.NET v4.0 Dim p As Integer = 16 Dim i As Integer = 10 Dim y As Integer = p / i //Result: 2 C#v4.0 int p = 16; int i = 10; int y = p / i; //Result: 1

“int * nums = {5,2,1,4}”导致分段错误

int *nums = {5, 2, 1, 4}; printf("%d\n", nums[0]); 导致段错误,而 int nums[] = {5, 2, 1, 4}; printf("%d\n", nums[0]); 没有。 现在: int *nums = {5, 2, 1, 4}; printf("%d\n", nums); 打印5。 基于此,我猜想数组初始化符号{}会盲目地将这些数据加载到左侧的任何variables中。 当它是int []时,数组按要求填充。 当它是int *时,指针被填充5,并且存储指针后的存储位置由2,1和4填充。因此,nums [0]尝试deref 5,导致段错误。 如果我错了,请纠正我。 如果我是正确的,请详细说明,因为我不明白为什么数组初始化符以他们的方式工作。

如何将std :: string转换为C ++中的LPCWSTR(Unicode)

我正在寻找一种方法,或将std :: string转换为LPCWSTR的代码片段

请求的资源不支持HTTP方法“GET”

我的路线configuration正确,我的方法有装饰的标签。 我仍然得到“所请求的资源不支持HTTP方法'GET'”消息? [System.Web.Mvc.AcceptVerbs("GET", "POST")] [System.Web.Mvc.HttpGet] public string Auth(string username, string password) { // Décoder les paramètres reçue. string decodedUsername = username.DecodeFromBase64(); string decodedPassword = password.DecodeFromBase64(); return "value"; } 这是我的路线: config.Routes.MapHttpRoute( name: "AuthentificateRoute", routeTemplate: "api/game/authentificate;{username};{password}", defaults: new { controller = "Game", action = "Auth", username = RouteParameter.Optional, password = RouteParameter.Optional }, constraints: new { httpMethod = […]

为什么这个版本的逻辑AND在C中没有显示短路行为?

是的,这是一个家庭作业的问题,但我已经做了我的研究和相当深入的思考这个话题,并不能解决这个问题。 这个问题指出,这段代码不会performance出短路行为,并问为什么。 但在我看来,它确实performance出短路的行为,所以有人可以解释为什么它没有? 在C: int sc_and(int a, int b) { return a ? b : 0; } 在我看来,如果a是假的,程序根本不会去评估b ,但是我一定是错的。 为什么在这种情况下,程序甚至碰到b ,什么时候不需要?

序列不包含匹配的元素

我有一个asp.net应用程序,我正在使用linq进行数据操作。 在运行时,我得到了“序列不包含匹配元素”的exception。 if (_lstAcl.Documents.Count > 0) { for (i = 0; i <= _lstAcl.Documents.Count – 1; i++) { string id = _lstAcl.Documents[i].ID.ToString(); var documentRow = _dsACL.Documents.First(o => o.ID == id); if (documentRow !=null) { _lstAcl.Documents[i].Read = documentRow.Read; _lstAcl.Documents[i].ReadRule = documentRow.ReadRule; _lstAcl.Documents[i].Create= documentRow.Create; _lstAcl.Documents[i].CreateRule = documentRow.CreateRule; _lstAcl.Documents[i].Update = documentRow.Update; _lstAcl.Documents[i].UpdateRule = documentRow.UpdateRule; _lstAcl.Documents[i].Delete = documentRow.Delete; _lstAcl.Documents[i].DeleteRule […]

LINQ order by null列,其中order是升序,nulls应该是last

我正在尝试按价格sorting产品清单。 结果集需要按列的LowestPrice按价格从低到高列出产品。 但是,这个列是可以空的。 我可以像这样按降序对列表进行sorting: var products = from p in _context.Products where p.ProductTypeId == 1 orderby p.LowestPrice.HasValue descending orderby p.LowestPrice descending select p; // returns: 102, 101, 100, null, null 不过,我不知道如何按升序sorting。 // i'd like: 100, 101, 102, null, null

有没有办法指定一个“空”的C#lambdaexpression式?

我想声明一个“空的”lambdaexpression式,没有什么。 有没有办法做这样的事情,而不需要DoNothing()方法? public MyViewModel() { SomeMenuCommand = new RelayCommand( x => DoNothing(), x => CanSomeMenuCommandExecute()); } private void DoNothing() { } private bool CanSomeMenuCommandExecute() { // this depends on my mood } 我这样做的意图只是控制我的WPF命令的启用/禁用状态,但这是一个旁白。 也许这对我来说太早了,但是我想一定有办法像这样以某种方式声明x => DoNothing() lambdaexpression式来完成同样的事情: SomeMenuCommand = new RelayCommand( x => (), x => CanSomeMenuCommandExecute()); 有没有办法做到这一点? 似乎没有必要使用无所事事的方法。

如何更改DataTable列名称?

我有一个DataTable有四个列,如 StudentID CourseID SubjectCode Marks ———— ———- ————- ——– 1 100 MT400 80 2 100 MT400 79 3 100 MT400 88 在这里,我将这个Datatable作为一个XML表传递到Sql server表中。 我只想将DataTable列名称“Marks”更改为“SubjectMarks”,并将此DataTable作为XML表格传递。 我知道如何将DataTable作为XML表传递。 但我不知道,如何将DataTable列名称“Marks”更改为“SubjectMarks”。

检查一个string是否包含10个字符之一

我正在使用C#,我想检查一个string是否包含十个字符之一,*,&,#等等。 什么是最好的方法?