Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

19
缺少OWIN启动类
我收到此错误,因为我的项目无法找到OWIN启动类的引用。我什至通过Nuget安装了所有OWIN参考软件包,仍然遇到相同的问题。我正在使用Visual Studio 2012和MVC4。 尝试加载应用程序时发生以下错误。 找不到包含OwinStartupAttribute的程序集。 找不到包含Startup或[AssemblyName] .Startup类的程序集。要禁用OWIN启动发现,请在web.config中添加值为“ false”的appSetting owin:AutomaticAppStartup。要指定OWIN启动程序集,类或方法,请在web.config中添加带有完全限定的启动类或配置方法名称的appSetting owin:AppStartup。

13
在LINQ列表中查找项目?
在这里,我有一个简单的示例,可以在字符串列表中找到一个项目。通常我使用for循环或匿名委托来做到这一点: int GetItemIndex(string search) { int found = -1; if ( _list != null ) { foreach (string item in _list) // _list is an instance of List<string> { found++; if ( string.Equals(search, item) ) { break; } } /* use anonymous delegate string foundItem = _list.Find( delegate(string item) { …
226 c#  linq 



16
在C#中检查对象是否为空
如果对象为null,我想防止对其进行进一步处理。 在以下代码中,我通过以下任一方法检查对象是否为空: if (!data.Equals(null)) 和 if (data != null) 不过,我收到NullReferenceException的dataList.Add(data)。如果对象为null,则它甚至都不应输入if -statement! 因此,我问这是否是检查对象是否为null的正确方法: public List<Object> dataList; public bool AddData(ref Object data) bool success = false; try { // I've also used "if (data != null)" which hasn't worked either if (!data.Equals(null)) { //NullReferenceException occurs here ... dataList.Add(data); success = doOtherStuff(data); } …


14
测试动态变量上的属性是否可用
我的情况很简单。在我的代码中,我有这个地方: dynamic myVariable = GetDataThatLooksVerySimilarButNotTheSame(); //How to do this? if (myVariable.MyProperty.Exists) //Do stuff 因此,基本上我的问题是如何检查(不引发异常)动态变量上是否有某个属性可用。我可以,GetType()但是我宁愿避免这种情况,因为我真的不需要知道对象的类型。我真正想知道的只是一个属性(或方法,如果使生活更轻松)是否可用。有指针吗?

27
配置系统初始化失败
我是Visual Studio的新手。我目前正在创建一个登录表单。 我有这个代码。 string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; try { using (OdbcConnection connect = new OdbcConnection(connectionString)) { connect.Open(); OdbcCommand cmd = new OdbcCommand("SELECT username, password FROM receptionist", connect); OdbcDataReader reader = cmd.ExecuteReader(); if (username_login.Text == username && password_login.Text == password) { this.Hide(); MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } else …


21
合并.NET中的两个数组
.NET 2.0中是否有内置函数将两个数组合并为一个数组? 数组都是相同的类型。我是从代码库中广泛使用的函数获取这些数组的,无法修改该函数以其他格式返回数据。 我希望避免编写自己的函数来完成此操作(如果可能)。
225 c#  .net  arrays 

15
如何确定小数/双精度数是否为整数?
如何判断小数或双精度值是整数? 例如: decimal d = 5.0; // Would be true decimal f = 5.5; // Would be false 要么 double d = 5.0; // Would be true double f = 5.5; // Would be false 我想知道的原因是,这样我就可以以编程方式确定是否要使用.ToString("N0")或输出值.ToString("N2")。如果没有小数点值,那么我不想显示出来。
225 c# 

13
通过C#中的引用传递属性
Наэтотвопросестьответына 堆栈溢出нарусском:Передачасвойствасметодсмодификатором裁判и出 我正在尝试执行以下操作: GetString( inputString, ref Client.WorkPhone) private void GetString(string inValue, ref string outValue) { if (!string.IsNullOrEmpty(inValue)) { outValue = inValue; } } 这给了我一个编译错误。我认为我正在努力实现的目标很明确。基本上,我想GetString将输入字符串的内容复制到的WorkPhone属性Client。 是否可以通过引用传递属性?


13
使用lambda表达式将对象列表从一种类型转换为另一种类型
我有一个foreach循环,读取一种类型的对象列表并产生另一种类型的对象列表。有人告诉我,lambda表达式可以达到相同的结果。 var origList = List<OrigType>(); // assume populated var targetList = List<TargetType>(); foreach(OrigType a in origList) { targetList.Add(new TargetType() {SomeValue = a.SomeValue}); } 任何帮助将不胜感激-我是lambda和linq的新手,谢谢,s
224 c#  generics  lambda 

8
SecureString在C#应用程序中是否可行?
如果我的假设在这里错误,请随时纠正我,但是让我解释为什么我要问。 取自MSDN,是SecureString: 表示应保密的文本。文本在使用时经过加密以确保隐私,在不再需要时从计算机内存中删除。 我明白了,将密码或其他私人信息存储在SecureString上方是完全有意义的System.String,因为您可以控制将密码和其他私人信息实际存储在内存中的方式和时间,因为System.String: 既是不可变的,并且在不再需要时不能以编程方式安排进行垃圾回收;也就是说,实例在创建后是只读的,无法预测何时将实例从计算机内存中删除。因此,如果String对象包含敏感信息,例如密码,信用卡号或个人数据,则使用该信息后可能会泄露该信息,因为您的应用程序无法从计算机内存中删除数据。 但是,对于GUI应用程序(例如ssh客户端),SecureString 必须从构建 System.String。所有的文本控件都使用字符串作为其基础数据类型。 因此,这意味着即使用户使用密码掩码,每次用户按下一个键时,旧的字符串都会被丢弃,而新的字符串将被构建以表示文本框内的值。而且我们无法控制何时或是否从内存中丢弃这些值中的任何一个。 现在该登录服务器了。你猜怎么了?您需要在连接上传递字符串以进行身份​​验证。因此,让我们将其SecureString转换为System.String....现在堆上有一个字符串,无法强制其通过垃圾回收(或将0写入其缓冲区)。 我的观点是:无论您做什么,SecureString都将被转换为System.String,这意味着它至少会在某个时刻存在于堆中(不保证任何垃圾回收)。 我的意思不是:是否有某种方法可以绕过向ssh连接发送字符串,或者可以避免使控件存储字符串(创建自定义控件)。对于这个问题,您可以将“ ssh连接”替换为“登录表格”,“注册表格”,“付款表格”,“您要喂养的食物,而不是您的孩子的食物”,等等 那么,在什么时候使用SecureString实际可行呢? 完全消除System.String对象的使用是否值得花费额外的开发时间? SecureString仅仅是为了减少a System.String在堆上的时间(降低其移至物理交换文件的风险)的全部意义? 如果攻击者已经具有检查堆的方法,那么他很可能要么(A)已经具有读取击键的方法,要么(B)已经物理上拥有了机器 ……因此可以使用SecureString防止他进入的方法。反正数据? 这仅仅是“默默无闻的安全”吗? 抱歉,如果我把问题放在太深的地方,好奇心会变得更好。随时回答我的任何或所有问题(或告诉我我的假设完全错误)。:)
224 c#  security 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.