小编Nib*_*Pig的帖子

C#添加字符串+ null不会抛出错误?

作为一名程序员,我本以为这会抛出异常.是否有理由将null视为""?

string s = "hello";
string t = null;

Console.WriteLine(s + t);
Run Code Online (Sandbox Code Playgroud)

输出:

你好

只是为了强调我的问题,你知道为什么决定将null变为String.Empty吗?我期待一些字符串被添加,但是有一个问题进一步回到它没有正确检索它并返回null.问题没有被注意到!

这是一个伪代码,为什么我认为它是坏的(为什么我发现没有错误感到震惊):

您可以假设我重载了ToString以提供该人员的姓名或有关他们的详细信息.

Person p = PersonDatabase.GetForName("Jimmy Gibbs");

Console.WriteLine("Name is: " + p.ToString());
Run Code Online (Sandbox Code Playgroud)

抛出异常,因为p为null

String p = PersonDatabase.GetForName("Jimmy Gibbs").Name;

Console.WriteLine("Name is: " + p);
Run Code Online (Sandbox Code Playgroud)

即使p为null(它将其视为""),也不会抛出异常.

(如果你想挑剔并说我将无法获得Name,因为GetforName将为null,请将其视为此:)

String p = PersonDatabase.GetNameFromID(1234); // Returns a string or null if not found

Console.WriteLine("Name is: " + p);
Run Code Online (Sandbox Code Playgroud)

(如果你在列表或数组中使用这个值,你最终会得到一个空白条目,这对我来说是破坏的,它创建了javascript并尝试按ID"ID"获取元素)

c#

13
推荐指数
2
解决办法
9486
查看次数

由<%@ Page Language ="c#"%>引起的语法错误?ASP.Net

这是无效的放入一个aspx文件?我有一些静态的aspx页面,我想在其中一个中添加一些C#.我怎样才能做到这一点?

我想只是添加

<%@ Page Language="c#"%>
Run Code Online (Sandbox Code Playgroud)

然后使用<%%>在那里放一些C#优点,但是它说Syntax Error.在此代码上有蓝色波浪线.

asp.net

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

modalpopupextender和逗号出现在我的文本框asp.net中

一些奇怪的事情正在发生,我正在转换一个过去常常使用javascript的应用程序在一个小窗口中打开另一个网页,以便输入数据以使用ModalPopupExtender.

它似乎工作正常,但在OK事件中,当我执行txtData.Text(我的模态弹出窗口中的文本框)时,它在数据之前返回一个逗号,所以如果你输入"Rabbit",它会返回" ,兔子".

此外,当我多次使用它时,在我可能点击显示它的另一个地方,并键入"鱼",它开始回来像",兔子,鱼"之类的东西

我不知道为什么或如何阻止它这样做...任何想法?

asp.net modalpopupextender

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

如何用汇编语言编写"Hello World"应用程序?

可能重复:
如何在windows下的汇编程序中编写hello world?

我经常听说使用神灵语言汇编语言编写的应用程序.我从来没有尝试过,我甚至都不知道该怎么做.

如果我想涉猎,我该怎么做呢?我完全不知道需要什么,虽然可能是某种编译器和记事本.

纯粹出于好奇,我需要写一个"Hello World!" 应用?

编辑添加,我正在运行Windows 7 64位

编辑添加,我想知道是否有Visual Studio的汇编语言插件?

x86 assembly x86-64

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

当我有一个可以为null的参数时,ModelState.IsValid为false

我在一个全新的MVC Web API项目中重现了我遇到的问题.

这是默认代码,略有修改.

public string Get(int? id, int? something = null)
{
    var isValid = ModelState.IsValid;
    return "value";
}
Run Code Online (Sandbox Code Playgroud)

如果你去,http://localhost/api/values/5?something=123那么这很好,isValid是true.

如果你去http://localhost/api/values/5?something=那么isValid是false.

我遇到的问题是,如果为可以为空的项提供null或省略的值,ModelState.IsValid会标记验证错误 "A value is required but was not present in the request."

ModelState字典也如下所示:

在此输入图像描述

有两个条目something,一个可以为空,我不确定它是否重要.

知道如何解决这个问题,以便在省略可空参数或提供为null时模型是有效的吗?我在我的web api中使用模型验证,如果每个带有可为空参数的方法都会产生模型错误,它就会破坏它.

asp.net-mvc model-binding asp.net-web-api

11
推荐指数
1
解决办法
5701
查看次数

如何在不使用表格的情况下排列文本框?HTML/CSS

我想要显示:

Name [Textbox]
Age: [Textbox]
BlahBlahCatfish: [Textbox]
Run Code Online (Sandbox Code Playgroud)

但是,如果我只是简单地将代码插入其中,它就会像上面排列的那样排成一行.

我想要的是它排成一行:

Name:            [Textbox]
Age:             [Textbox]
BlahBlahCatfish: [Textbox]
Run Code Online (Sandbox Code Playgroud)

通常我会使用表,但我试图摆脱这种习惯并使用可爱的CSS.没有数十亿的div和东西,如何做到这一点的想法?

html css

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

我在哪里可以获得所有国家/城市的列表以填充列表框?

一种编程问题......

您创建一个注册表单,其地址取自国家和城市列表.在interwebs上有什么地方我可以抓住这些列表来粘在我的列表框中吗?

html

10
推荐指数
1
解决办法
8022
查看次数

类似的密码有类似的哈希吗?

我们的计算机系统在工作时要求用户每隔几周更改一次密码,并且您不能拥有与以前相同的密码.它记得你最近的20个密码.我发现大多数人只是在密码末尾增加一个数字,所以"thisismypassword1"变为"thisismypassword2"然后3,4,5等.

由于所有这些密码都存储在某处,我想知道哈希本身是否存在任何弱点,因为标准哈希算法用于存储密码,如MD5.如果黑客有一个类似密码的哈希列表,黑客是否会增加暴力破解密码的机会?

language-agnostic security passwords hash brute-force

10
推荐指数
4
解决办法
1425
查看次数

了解WCF中的ServiceKnownType

我在理解WCF中的ServiceKnownType时遇到了一些麻烦.

摘自此博客,以下代码不起作用:

[DataContract(Namespace = “http://mycompany.com/”)]
public class Shape{…}

[DataContract(Namespace = “http://mycompany.com/”)]
public class Circle : Shape {…}

[ServiceContract]
public interface IMyServer
{
    [OperationContract]
    bool AddShape(Shape shape);
}
Run Code Online (Sandbox Code Playgroud)

.

IMyServer client = new ChannelFactory<IMyServer>(binding, endPoint).CreateChannel();

client.AddShape(new Circle());
Run Code Online (Sandbox Code Playgroud)

它不起作用的原因是因为你试图添加一个圆,但servicecontract只允许一个Shape.你应该用知识型做一些事情,但我对它是如何工作有点困惑.

由于该代码在服务中,为什么不自动知道Circle是从Shape派生的?另外,ServiceKnownType实际上做了什么?

当ServiceKnownType放在DataContract下面时,显然会使它工作.我猜它说,嘿,这种称为Shape的特殊对象类型也可以是一个圆圈.我无法理解为什么会这样做,因为如果你添加一个像Square这样的新类型,你将不得不为Shape类添加一个ServiceKnownType.如果它不能推断它,将KnownType放到Square而不是Shape上,它会不会有意义?所以Square说嘿,我是一个Shape,而你不必摆弄Shape类?如果您的Shape类内置于库中并且您想要创建自己的衍生形状(如DiamondShape),则无法将其添加到Shape类,因为您无权访问源代码.

wcf serviceknowntype

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

实体框架中.SqlQuery()方法的params参数是什么?

该方法为查询提供了一个字符串,并Object []为参数提供了一个数组,可能是为了避免SQL注入.

然而,地球上没有任何地方记录您应该放入对象数组中的内容.

关于SO的另一个问题就是问这个完全相同的东西,但是接受的答案不起作用:当使用DbSet <T> .SqlQuery()时,如何使用命名参数?

我已经尝试过所有可以考虑的参数替换形式,所有这些都会引发异常.有任何想法吗?

它会如此简单:

SqlQuery("SELECT * FROM @table", "Users")

编辑:以下是我尝试过的一些事情(例外情况是SqlException):

    var result = context.Users.SqlQuery<T>("SELECT * FROM @p0 WHERE @p1 = '@p2'", 
new SqlParameter("p0", tableName), 
new SqlParameter("p1", propertyName), 
new SqlParameter("p2", searchQuery));
Run Code Online (Sandbox Code Playgroud)

这给了 Must declare the table variable "@p0".

var result = context.Users.SqlQuery<T>("SELECT * FROM {0} WHERE {1} = '{2}'", tableName, propertyName, searchQuery);
Run Code Online (Sandbox Code Playgroud)

这给了 Must declare the table variable "@p0".

c# sql entity-framework

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