Questions tagged «c#»

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


7
用通配符匹配字符串
我想用通配符(*)匹配字符串,其中通配符表示“ any”。例如: *X = string must end with X X* = string must start with X *X* = string must contain X 另外,一些复合用途例如: *X*YZ* = string contains X and contains YZ X*YZ*P = string starts with X, contains YZ and ends with P. 有一个简单的算法可以做到这一点吗?我不确定使用正则表达式(尽管有可能)。 为了清楚起见,用户将在上面的过滤器框中键入内容(尽可能简单的过滤器),我不希望他们自己编写正则表达式。因此,我可以轻松地从上述表示形式进行转换将是一件好事。
71 c#  regex  string  wildcard 

11
错误:实体类型需要主键
我想扩大这个线程问的问题 将列表框绑定到observablecollection 通过赋予它持久化数据的能力。除了我安装了Entity Framework Core,创建了一个DbContext用于保存记录的类之外,该结构基本相同。我添加了一个按钮来将数据集保存到SQL Server。我没有遇到编译错误,但是当我尝试将数据保存到数据库中时,出现了此运行时异常: Message =实体类型“ Fruit”要求定义主键。 下面列出了整个异常的整体 未处理System.InvalidOperationException HResult = -2146233079 消息=实体类型“水果”要求定义主键。 源= Microsoft.EntityFrameworkCore 堆栈跟踪: 在Microsoft.EntityFrameworkCore.Internal.ModelValidator.ShowError(字符串消息) 在Microsoft.EntityFrameworkCore.Internal.ModelValidator.EnsureNonNullPrimaryKeys(IModel模型) 在Microsoft.EntityFrameworkCore.Internal.ModelValidator.Validate(IModel模型) 在Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel上的Microsoft.EntityFrameworkCore.Internal.RelationalModelValidator.Validate(IModel模型) (DbContext上下文,IConventionSetBuilder ConventionSetBuilder,IModelValidator验证器) 在Microsoft.EntityFrameworkCore.Infrastructure.ModelSource。<> c__DisplayClass14_0.b__0(对象k) 在System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func2 valueFactory) 在Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(的DbContext上下文,IConventionSetBuilder conventionSetBuilder,IModelValidator验证器) 在Microsoft.EntityFrameworkCore.Internal.LazyRef 2上的Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()2.Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSiteProvider ) 上的VisitCallSite(IServiceCallSite callSite,TArgument参数 )1.get_Value() at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model() at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddEntityFramework>b__0_6(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactoryService(FactoryService factoryService, ServiceProvider provider) at …

2
属性选择器Expression <Func <T >>。如何获取/设置选定属性的值
我有一个想要以这种方式构造的对象: var foo = new FancyObject(customer, c=&gt;c.Email); //customer has Email property 我应该如何声明第二个参数? 访问所选属性设置器/获取器的代码将如何显示? 更新。模型中有几个具有Email属性的实体。因此,签名可能看起来像: public FancyObject(Entity holder, Expression&lt;Func&lt;T&gt;&gt; selector) 和构造函数调用 var foo = new FancyObject(customer, ()=&gt;customer.Email);
71 c# 

6
如何使用C#创建自签名证书?
我需要使用C#创建一个自签名证书(用于本地加密-它不用于保护通信)。 我已经看到一些通过Crypt32.dll使用P / Invoke的实现,但是它们很复杂并且很难更新参数-而且我也想尽可能避免使用P / Invoke。 我不需要跨平台的东西-仅在Windows上运行就足够了。 理想情况下,结果将是X509Certificate2对象,我可以使用该对象将其插入Windows证书存储区或导出到PFX文件。

6
在C#中将字符串转换为双精度
我有一个长字符串,带有用#-value1#value2#value3#等分隔的双精度值 我将其拆分为字符串表。然后,我想将此表中的每个单个元素都转换为双精度类型,但出现错误。这里的类型转换有什么问题? string a = "52.8725945#18.69872650000002#50.9028073#14.971600200000012#51.260062#15.5859949000000662452.23862099999999#19.372202799999250800000045#51.7808372#19.474096499999973#"; string[] someArray = a.Split(new char[] { '#' }); for (int i = 0; i &lt; someArray.Length; i++) { Console.WriteLine(someArray[i]); // correct value Convert.ToDouble(someArray[i]); // error }

10
foreach()是否通过引用进行迭代?
考虑一下: List&lt;MyClass&gt; obj_list = get_the_list(); foreach( MyClass obj in obj_list ) { obj.property = 42; } 是obj对列表中相应对象的引用,以便当我更改属性时,更改一旦在某处构造后将保留在对象实例中?
71 c#  reference  foreach 

4
为什么此代码会给出“可能的空引用返回”编译器警告?
考虑以下代码: using System; #nullable enable namespace Demo { public sealed class TestClass { public string Test() { bool isNull = _test == null; if (isNull) return ""; else return _test; // !!! } readonly string _test = ""; } } 当我建立这个时,标有 !!!会向编译器发出警告:warning CS8603: Possible null reference return.。 鉴于这一点,我觉得有些困惑 _test是只读的并且初始化为非null。 如果将代码更改为以下内容,警告将消失: …

3
C#是否(或将包括)副作用验证功能?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3个月前关闭。 改善这个问题 我知道C#得到了很多并行编程支持,但是AFAIK仍然没有用于副作用验证的结构,对吗? 我认为现在已经布局C#更加棘手。但是有计划将其纳入其中吗?还是F#是唯一具有副作用验证构造的.NET语言?

10
传递到字典中的模型项的类型为“ mvc.Models.ModelA”,但是此字典需要模型类型为“ mvc.Models.ModelB”的模型项
我的某些版本中有这个烦人的错误。 该项目中没有错误,因为如果我再次构建,那么问题就消失了。仅在将站点部署到Windows 2008 Server时,才会显示该消息。 我首先认为这可能与临时文件有关,但事实并非如此。我将构建版本部署到其他网站,并且错误仍然出现。 该错误出现在站点的随机动作上。大多数时候,构建都是可以的,但是每个第3或第4个构建都会产生运行时错误。 我在发布模式下使用WebdeploymentProject进行构建。视图是预编译的。 它不是在ASP.NET MVC中,当使用正确的类型化对象呈现页面时,我会遇到不正确的类型错误,因为视图的名称完全不同。 如何调试此问题或如何获得帮助? 这是我的WebDeploymentProject &lt;!-- Microsoft Visual Studio 2008 Web Deployment Project http://go.microsoft.com/fwlink/?LinkID=104956 --&gt; &lt;Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt; &lt;PropertyGroup&gt; &lt;Configuration Condition=" '$(Configuration)' == '' "&gt;Debug&lt;/Configuration&gt; &lt;Platform Condition=" '$(Platform)' == '' "&gt;AnyCPU&lt;/Platform&gt; &lt;ProductVersion&gt;9.0.21022&lt;/ProductVersion&gt; &lt;SchemaVersion&gt;2.0&lt;/SchemaVersion&gt; &lt;ProjectGuid&gt;{E5E14CEB-0BCD-4203-9A5A-34ABA9C717EA}&lt;/ProjectGuid&gt; &lt;SourceWebPhysicalPath&gt;..\B2CWeb&lt;/SourceWebPhysicalPath&gt; &lt;SourceWebProject&gt;{3E632DB6-6DB3-4BD0-8CCA-12DE67165B48}|B2CWeb\B2CWeb.csproj&lt;/SourceWebProject&gt; &lt;SourceWebVirtualPath&gt;/B2CWeb.csproj&lt;/SourceWebVirtualPath&gt; &lt;TargetFrameworkVersion&gt;v3.5&lt;/TargetFrameworkVersion&gt; &lt;/PropertyGroup&gt; &lt;PropertyGroup Condition=" '$(Configuration)|$(Platform)' == …

13
应用程序无法加载。无法创建Visual C#2015 RC编译器
我正在尝试安装Visual Studito 2015 RC社区版。 我下载了Web安装程序并安装了所有组件。安装后,我按照指示重新启动了机器,但是在尝试制作应用程序时,它总是给我同样的错误。请参见以下屏幕: 我已经尝试过这个答案以及Visual Studio早期版本中的这个答案。它重置设置,但最终出现相同的错误。 我也曾尝试删除C:\Users\Gogol\AppData\Local\Microsoft\VisualStudio文件夹,但同样,没有运气。 我也devenv.exe添加了路径。我可以devenv在命令提示符下访问。

8
真的不适合钱吗?
我总是在c#中告诉您double类型的变量不适合钱。所有奇怪的事情都可能发生。但是我似乎无法创建一个示例来演示其中的一些问题。谁能提供这样的例子? (编辑;此帖子最初被标记为C#;一些回复涉及的具体细节decimal,因此,这意味着System.Decimal)。 (编辑2:我是专门要求一些C#代码的,所以我不认为这仅与语言无关)

17
C#GUI命名约定的最佳做法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 无论用WinForms还是XAML编写的GUI,在我看到的项目之间似乎具有最广泛的命名约定。为了简单TextBox起见,我看到了各种命名约定: TextBox tbName // Hungarian notation TextBox txtName // Alternative Hungarian TextBox NameTextBox // Not even camelCase TextBox nameTextBox // Field after field with TextBox on the end TextBox TextBoxName // Suggested in an answer... TextBox textBoxName // Suggested in an answer... TextBox uxName // Suggested …

8
当.ToString()在具有null值的可为null的int上正常工作时,为什么对null字符串的.ToString()会导致null错误?
selectedItem 有两个字段: int? _cost string _serialNumber 在这个例子中,_cost和_serialNumber的selectedItem都是空。我正在阅读通过selectedItem其属性的字段,并在...时在文本框中填充其值。 TextBox1.Text = selectedItem.Cost.ToString(); //no error TextBox2.Text = selectedItem.SerialNumber.ToString(); //error 我知道这SerialNumber.ToString()是多余的(因为它已经是一个字符串),但是我不明白为什么这会导致此异常: 可为空的对象必须具有一个值。 int? _cost 可以为空,并且没有值,但是它没有给我例外。 string _serialNumber可以为空,并且没有值,但是确实给了我例外。 这个问题触及了这个问题,这个家伙本质上是在问同样的事情,但是没有指定的答案,也没有解释为什么可以为空int?例如,我可以.ToString()在可为null的int上使用,但不能在null字符串上使用吗?
70 c#  string  null  int  nullable 

3
HttpClient请求抛出IOException
下面的代码将引发带有消息的IOException:“指定的注册表项不存在。” HttpClient client = new HttpClient(); Uri uri = new Uri("http://www.google.com"); client.GetAsync(uri); 这只是在Main中的控制台应用程序中。似乎该错误由mscorlib.dll!Microsoft.Win32.RegistryKey.Win32Error(int errorCode,字符串str)引发。我不知道为什么会引发此错误或如何开始调试它。 编辑堆栈跟踪: 在Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode,String str) 它只有1条线,没有内部异常等。 调用堆栈为: mscorlib.dll!Microsoft.Win32.RegistryKey.Win32Error(int errorCode, string str) + 0x189 bytes mscorlib.dll!Microsoft.Win32.RegistryKey.GetValueKind(string name) + 0x7f bytes System.dll!System.Net.HybridWebProxyFinder.InitializeFallbackSettings() + 0x9e bytes [Native to Managed Transition] [Managed to Native Transition] System.dll!System.Net.AutoWebProxyScriptEngine.AutoWebProxyScriptEngine(System.Net.WebProxy proxy, bool useRegistry) + 0xd0 …

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.