C# C语言中的类Java线程同步#

我是一名Java程序员,我知道一些关于Java线程的知识 在Java中,我可以使用synchronized关键字锁定方法: private int a; private int b; private int c; private synchronized void changeVars() { a = 4; b = 2; c = a+b; } 我在msdn中搜索,发现c#中有一些玩具可以玩线程。例如monitor.Enter、monitor.Exit、lock或高级互斥锁 但我需要

C#:表示方法作为接口的一部分存在的可执行方式

在C#中是否有方法将方法标记为类的一部分,以满足类实现的接口?有时,当我在挖掘一个类的代码时,我会纳闷为什么会有一些方法,但是,当我试图删除一个方法时,因为它没有被使用,我发现它是必要的,以便该类实现一些接口。将这些方法标记为这样会很好。可能是类似Java中的 编辑:我宁愿不显式地实现接口,因为访问类实例上的接口方法会变得更麻烦(例如,在调用MyInterfaceMethod之前,必须将MyClass的实例转换为IMyInterface) 编辑:我也不希望使用区域。我不想让一大块代码通过任意名称

C# 与「;这";修饰语

我在城市班上有这种方法。它应该基于应用该方法的对象创建一个新城市: public City newCity(string newCityName, int dX, int dY) { City c=new City(this); //based on a constructor : City(City c){} c.CityName=newCityName; c.NoOfNeighborhoods=1; c.NumOfR

C# ConcurrentDictionary作为静态缓存

我正在考虑使用类(singleton)和使用ConcurrentDictionary实现的集合。此类将用作缓存实现(asp.net/wcf) 从此类类中明确公开这些集合与仅公开每个集合(使用CD中的安全方法)的3个方法(get、add、clear)相比,您认为如何?当您实现缓存时,我建议只向外界公开您需要的方法,为了防止在其他用户摆弄字典时产生任何意外的副作用。没有过期策略的缓存是内存泄漏。您提出的任何策略都会影响Add()方法。您必须包装该方法来初始化让过期逻辑工作的东西。不能让客户端代码直接

在C#中使用Linq to Sql,是否有任何方法可以自动截断过长的数据?

所以,我将数据从一个数据库导入另一个数据库。大约有5000条记录(所以没有什么可笑的,但还不够小到足以吸引眼球)。有没有一种简单的方法可以自动截断过长的数据,特别是varchar字段?我不希望截断是静默的,因为太长的字段可能需要注意,但是如果一个太长2个字符的名称不会在插入时失败,并抛出一个完全不特定的异常,那就太好了 我想实现的解决方案是截断数据、插入数据并记录数据。还有其他人做过类似的事情吗?Linq2Sql将生成如下属性: [Column(Storage="_Name", DbTy

C# 使用Func时如何调用调用<;字符串,bool>;

在函数测试(Func f)中,如何调用f.invoke()?我收到了错误 委托“Func”不接受“0”参数 bool b = f(someString); 或: 委托Func是一个以字符串作为参数并返回bool的委托。要调用它,您需要提供一个字符串 e、 这两种方法都应该有效 f("foo"); f.Invoke("foo"); 我需要像f.invoke(soemthing)那样调用,如何从参数中获取某物? f("foo"); f.Invoke("foo");

如何在C#中跨程序集共享对象实例?

我有一个用于基本日志记录的程序集 我有引用此程序集的其他程序集 是否有方法跨引用程序集共享对象实例? 那么,对于一个日志记录活动,只使用日志记录类的一个实例 例如,如果记录器程序集/命名空间中的方法被调用为AddInfo()。当程序集A有一个需要记录信息的类时,它使用loggerInstance1.AddInfo()。。。当程序集B需要执行相同的操作时,它会重新使用相同的loggerInstance1.AddInfo()。。。而不是loggerInstance2.AddInfo()只在一个程序集

C#NotFiniteNumberException不';行不通

我希望我的程序在某个浮点变量达到无穷大或为Nan NotFiniteNumberException时抛出一个异常,这看起来像是一个解决方案,但有一个问题。 这个 我不会扔任何东西 我知道IsNan和isfinity方法,但这不是我想要的 Ehhh x=x/0 将导致“DivisionByZeroException”,因此您在这里不会捕获太多。这是因为您的部门不会抛出NotFiniteNumberException。对于x,它只返回无穷大 从: NotFiniteNumberException适用

C#List.Foreach的匿名类型

如果已定义以下匿名类型列表: var list = new[] { new { guid = "f501fbb2-c724-49ef-b7d5-954d7e9329a3", url = "~/Home" }, new { guid = "37df9c3e-f816-4ef9-9023-5f26295feffa", url = "~/Contact" } }.ToList(); 如何在列表上执行List.ForEach(委托)?我一直收到一个匿名类型的问题: “参数1:无法从‘匿

C# 为什么我必须修改web.config以启用调试?

为什么它不会自动启用 i、 e.在配置文件中启用调试有哪些缺点?必须有一些,否则默认情况下肯定会启用它 有关上下文,请参见标记 为什么它不会自动启用 安全性和性能方面的原因-很容易忘记在实时web服务器上执行此操作,这不是一个好主意 在调试模式下运行要比在发布模式下运行慢得多。它还公开了中的更多信息。这比备选方案要好…简短回答-您不希望用户看到调试模式返回的自定义错误消息,因此在开发时调试模式应设置为true,在发布时设置为false。最佳做法是在发布后使用设计的“友好”错误屏幕。当处于调试状态

C# 使用数组进行浮点排序。Sort()

我需要在C中对float中的某些对象中的某些距离进行排序。我使用delegate和数组。Sort对它们进行排序,但似乎无法使用float 转换为int时,如何保持这些浮点的精度 是否可以使用Array.Sort和float而不是int作为返回 不使用LINQ。您可以使用LINQ OrderBy扩展方法 var arr = new[] { 1.3f, 1.4f }; arr.OrderBy( a => a ).ToArray(); 你可以用LINQ arrayOfFloats = arra

C# 使用web.config转换保护连接字符串的建议方法

我们的内部安全要求我们的开发人员不知道生产数据库的用户名和密码 我们正试图使用web.config转换来减少部署过程中手动编辑web.config文件所产生的人为错误。理想情况下,我们希望web.configs完全自动化,无需人工干预 我的理解是,这需要开发人员(他们是我们组织中唯一知道如何创建和修改web.config转换的人员)了解生产环境的连接字符串信息 有没有一种方法可以让开发人员不知道生产连接字符串,而让他们单独负责维护web.config转换?是的,请看一下加密连接字符串:使用一个类

C# 是否有与mono兼容的3D点的.NET结构或类?

我正在编写一个跨平台的应用程序。 命名空间System::Windows::Media::Media3D::Point3D中已经有一个结构 问题是mono不支持将System::Windows作为项目的一部分 因此,我认为可能存在用于此目的的结构或类。 无论它是否内置。 如果扩展设备重量轻且便于携带,我也可以将其作为我的项目的一部分进行附加。 唯一重要的是要做到跨平台。Unity3D是一个基于Mono的跨平台3D游戏环境,这意味着你可以用C#编写需要的代码 中的单声道兼容性 您可以在为Unity

C# 访问控件:嵌套中继器

如何获取位于另一中继器中的文本框 <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Repeater ID="Repeater2" runat="server"> .... </asp:

C#随机数生成器每次仍然给出相同的数字

//创建一个由十行组成的字符串数组。 字符串[]个人数字;//将PersonalNumber声明为10元素数组 PersonalNumber=新字符串[10];//={“第一个号码”、“第二个号码”、“第三行”等} for(int i=0;i

亚马逊产品广告api-c#示例

因此,我一直在努力让这些API样本工作三天,令人沮丧。到目前为止,我仍然没有成功。我试过10个不同的样品,当然没有一个有效。经过进一步挖掘,我发现最新的API是从2013年4月底开始的,甚至最近的评论都说它是有效的。我知道这太好了,不可能是真的,当然我没有让它发挥作用。我很确定我在那个节目中遗漏了一些东西 代码如下: namespace Amazon.PAAPI { class Program { static void Main(string[] args)

C# 在MVVM中阻塞UI线程

我有一个关于MVVM实践的基本问题,不建议在绑定到UI控件的viewmodel属性的setter中调用model public int Woo { get { return _Woo; } set { _Woo=model.SetWoo(value); NotifyPropertyChange("Woo"); } } 相反,人们建议在模型中设置属性,并向viewmodel发送事件,以使用新值刷新其属性,并最终

C# 将生成的类从";“首先从数据库中输入代码”;EF6

我正在使用EF6从模型优先改为代码优先 我使用“代码优先于数据库”选项来生成我的类 这些将与WPF应用程序一起使用。 不幸的是,生成的项没有ObservableCollections,并且没有实现InotifyPropertyChanged 我想知道是否有任何方法可以自动化这一点(通过改变c#在从DB选项中选择代码时生成的类的行为。否则,我将不得不通过手工进行更改,这将非常繁琐,因为我们有100多个表 示例生成的类(请注意,属性和类未实现InotifyPropretyChanged,当我们需要O

C# 项目未更改分组列表视图中的组

我有一个列表视图,其中显示了按维护状态分组的车辆集合。如果车辆的保养状态更新,我希望它更改组。集合本身已正确更新,但视图不会相应更新。下面是我的一些代码,也许有人能帮我让它工作 这是我的CollectionViewSource管理我的分组 <CollectionViewSource x:Key="GroupedVehicles" IsLiveGroupingRequested="True" Source="{Binding ItemCollection}"> <Colle

C# 从缓存中获取对象时,代码是启发式不可访问的

我有下面的代码,想法很简单,如果对象在缓存中获取它,如果没有,那么从数据源检索它并将其保存到缓存中,我使用的是resharper,我得到了这个警告,但不理解为什么 public static ModulosPorUsuario GetModulesForUser(string identityname) { // It needs to be cached for every user because every user can have differ

C# 添加新列时更新旧记录

在我的系统中,客户将填写他们的信息以注册帐户。对于新注册,记录将包含一个新的复选框选项 我的问题是,如何更新旧记录,使其包含已添加复选框选项的选中值 我的主管建议我修补数据,但我不确定从哪里开始。我想我明白你的问题了。您需要使用默认值TRUE向现有表中添加几个布尔字段 ALTER TABLE TABLE1 add checkField bit default 1 您需要将相应字段映射到UI中的复选框。对于现有客户机,当数据库中的字段设置为true时,它将被选中。我假设您希望向现有表中添加一个新

C# 在局部视图中获取模型名称

有没有办法在局部视图中获取当前模型的名称 我想做一些类似的事情: @if(Model.Name=="Something"){ .... } else{ ... } 你可以试试这样的方法 @model.GetType().Name 请尝试@model.GetType().name非常感谢。这就是我一直在寻找的答案

C# 通用Windows类库中的异步调用

我有一个通用Windows类库,我想在其中调用一些异步方法,如: await Launcher.LaunchUriAsync(new Uri( "ms-windows-store://review/?PFN=" + Package.Current.Id.FamilyName)); “IAsyncOperation”不包含“GetAwaiter”的定义 并且没有扩展方法“GetAwaiter”接受 找不到类型“IAsyncOperation”(是否缺少使用 “系统”指令?) 当然,我的u

C#selenium/phantomjs集全局代理

我需要设置phantomjs以使用代理。我发现了许多java、javascript/node.js等的示例,但没有一个是使用selenium的c#的。我需要设置一个全局代理,并能够在不重新启动驱动程序的情况下更改它。我相信它将在driver.ExecutePhantomJS()下运行,但我也找不到要运行什么phantomjs脚本来更改全局代理。创建服务时: OpenQA.Selnium.Proxy myproxy = new Proxy(); myproxy.httpProxy = ip +":

C# 如何在C语言中获取JSON对象的属性名#

下面是一个JSON数据示例: {"data_header":"[ { "id":"1", "name":"aa" }, { "id":"2", "name":"bb" } ]"} 在C#函数中,我这样做是为了将这些数据转换为我的C#对象: JObject-jsonObj=JObject.Parse(jsonData); JArray arr=(JArray)jsonObj[“数据头”];

C# 带有整数的枚举数组

我正在制作简单的虚拟机。我有一个名为指令的枚举类型 public enum Instructions : int { ADD = 1, SUB = 2, PUSH = 3, POP = 4, HALT = 5 } 在我的测试类中,我创建了一个指令数组enum,我想在该数组中使用int,如下所示 Instructions[] code = new Instructions[] { PUSH, 2, PUSH, 7, ADD,

C# .CS文件中的DataGrid千位分隔符WPF

我需要为WPF中的DataGrid列添加千个分隔符。我正在将数据绑定到.cs文件中的网格 dataGrid.ItemsSource = data; 在xaml文件中,我没有定义列 <DataGrid Name="DgReplenish" Style="{StaticResource DataGridStyle}" Grid.Row="0" CellStyle="{StaticResource DataGridCellStyle}"> </DataGrid>

如何使用Chrome浏览器';在C#中使用Selenium Webdriver的s Cookie?

如果我打开我的Chrome浏览器,它会包含我使用的页面中的所有cookie。我想在ChromeDriver中启用此cookies。所以,如果我打开facebook.com,我不想输入我的用户名和密码,如果我早些时候输入的话。 无论如何,我希望webdriver使用我电脑上的cookies。 或 如何从chrome文件夹中获取所有cookie,并将其添加到webdriver?理论上,我可以向webdriver添加cookies 您必须从ChromeOptions创建一个新实例,并添加以下参数: C

在c#/jquery上多个上载图像

是否有任何多个上传图像方便用户上传图像,如facebook上的activex文件上传器 但免费:) 我更新了我的问题,我看到每个人都推荐flash上传器。 我的问题是我在使用会话, 我正在传递与已上载图像相关的用户相册id 以及上传图像的用户id 这是第一页中的代码 <div id="divUploadImage" style="display: none;"> <FlashUpload:FlashUpload ID="flashUp

C# 是否将子生成文件转换为生成文件?

我需要将子生成文件转换为生成文件,即Windows C#子生成文件 子文件使文件看起来像: include Windows.def solution = someSolution.sln 我可以将子make文件保存为“.make”吗?如果我含糊不清,我很抱歉,但我已经在谷歌上搜索了这个主题,没有太多信息 谢谢我想你说的是“nmake”生成文件吧?我想您必须首先修改它以使用语句: !include Windows.def 我知道我可以给这些文件重新命名。示例:“file.submake”变

C# Listbox.Items.Clear()在SelectionChanged时崩溃

在再次加载新列表框之前,尝试清除列表框 错误 对象引用未设置为对象的实例 在SGTaxiPool.Views.ShareCab.lbcreatedRequests\u SelectionChanged(对象发送者,SelectionChangedEventArgs e) 位于System.Windows.Controls.Primitives.Selector.OnSelectionChanged>(SelectionChangedEventArgs e) 在System.Windows.Con

C# 如何在C语言中处理指向数组的指针# 我有C++方法,int是*int参数,指针是int数组。

我怎样才能把它整理成C#?你可以试着从这个方法签名中获得灵感: void MyMethod([MarshalAs(UnmanagedType.LPArray, SizeConst=10)] int[] ar); (数组长度为10)没有将此作为答案发布,因为我无法确认它;但是尝试将参数编组为ref int[]。尝试了此操作。不work@Redwan-什么是“不工作”意思?@Bond-System.AccessViolationException是thrown我会尝试使用ref IntPtr,但不

C# 推特API:401发布,工作正常

我已经搜索了好几天了,无论是高还是低,都没有找到一个twitter API的帖子来正常工作。我能够成功地获取请求令牌并将其交换为访问令牌,但当我发布到状态/更新时,会出现401错误 我已经验证了头部的授权部分与我使用TwitterOAuth工具时收到的内容完全匹配 我认为我的问题在于我将状态添加到web请求主体的方式。url是否需要公正,还是应该公正 我的代码如下: public string UpdateStatus(string requestMethod, string b

C# 如何基于字符串值通过LINQ查询列表的内容?

我正在尝试使用“>=”查询字符串列/成员的记录集合 我想要/期望的是,如果“音乐家”成员中有以下值,则这种情况会发生: …和以下LINQ查询: private readonly List<Musician> musicians = new List<Musician>(); . . . public IEnumerable<Musician> Get(string musician) { IEnumerable<Musician> Musi

C#将日期转换为双精度

我在VBA中编写了一个函数,该函数根据文件的属性创建代码。 我需要一个开发人员在C#上做同样的事情 开发人员说,在c#中不可能做到同样的事情 因此,在VBA中,我的部分过程是将日期转换为双精度日期。VBA这样做的方法是基本上计算给定日期和1900年1月1日之间的天数。因此,2014年3月19日将是41717的两倍 我怎么说用C#(不是我熟悉的语言)编写一个函数,将日期数据类型转换为1900年1月1日以来的天数 任何帮助都将不胜感激。减去两个DateTimes将为您提供TimeSpan。您可以使用

C# WPF MVVM:在';ViewModel';

如果我们将解决方案分为三个项目: 看法 视图模型 模型 我们是否应该避免引用所有处理“ViewModel”中“View”的程序集,例如System.Windows.Controls,或者可以在“ViewModel”项目中使用WPF命名空间System.Windows之外的属性,例如Visibility。我担心的是,一旦我在“ViewModel”中引用了WPF程序集,在视图模型代码中弹出一个对话框的过程中,很容易会有人出错并做一些事情。通常最好完全避免ViewModel中的WPF命名空间和程序集。

C# .Net命名空间能否跨多个程序集?

.Net命名空间能否跨多个程序集?具体的例子会很有帮助。是的 例如,System是,其中一些在mscorlib.dll中,其他部分在System.dll和System.Core.dll中(我假设还有其他部分)。是的。 这是分离应用程序不同逻辑部分的正确方法 Dal-带有数据访问层的独立程序集 YourApp.Infrastructure-使用一些基础结构分离程序集 Web—应用程序的Web部分 没有什么能阻止您在系统名称空间中编写自己的程序集!

C# 为什么行动后会失去模型价值?

我有一个ViewModel,我正试图将其发回以保存在DB中。当ViewModel获取在//GET Create(int id)中设置的值时,当它到达//POST Create()时,会丢失一些值。GoalLevel和GoalTitle正在通过OK,但是ActorId和ProjectId正在丢失,即使调试器正在通过if(Model.State.IsValid)块,正在通过的值也不会保存到数据库中。然后重定向失败了,因为我再也没有有效的ProjectId来传递到URL 如果你知道自己在做什么,我相信

C# 在selenium中导航url期间停止页面加载

我在C#windows应用程序中使用selenium工具 driver.Navigate().GoToUrl(baseURL); 当应用程序执行这一行时,页面加载需要2分钟。 在此期间,followin元素在10秒内找到 driver.FindElement(By.Id("searchTerm")) 我使用了driver.FindElement(By.Id(“searchTerm”)).SendKeys(Keys.Escape) 但它不能正常工作。问题是在完成页面加载后,只有控件执行下一行。

C# 一个背板上的多个信号集线器类型——优缺点/可扩展性?

最近,我们尝试通过使用SQL背板将两个web应用程序上的信号器更改为在web场中工作 当我探索它是如何工作的(朝着最大的可伸缩性、最少的故障点的目标)时,我们可以调整它的不同方式的数量在我的脑海中成倍增加 目前,每个应用程序都使用SignalR来支持对数据库中记录的更改进行轮询驱动的广播 关于在所有应用程序上为所有信号器实例使用一个背板的基本假设/观察: 具有一个公共背板的所有集线器和集线器实例(所有类型)仅位于一条messagebus上 所有集线器实例实际上都“合并”了它们的客户机池。hub实

C# WPF列表框模板绑定仅在滚动时更新

我有以下列表框,其中ContentControl作为DataTemplate: <ListBox x:Name="lstActionConfigs" ItemsSource="{Binding Path=AllActionConfigList}" SelectedItem="{Binding Path=ListSelectedItem, Mode=TwoWay}" HorizontalContentAlignment="Stretch" Grid.Row="3" Margin="0,0,0

C# LINQ需要从列中解析JSON

在表Leads中,有一列Data,其中包含一个JSON字符串。在LINQ语句中,我需要从该JSON中提取一个字段: var results = from l in leads select new MyLeadObject { LeadID = l.LeadID, ... RequestType = (string)l.Data["RequestTypeID"] }; 以下是JSON的简化版本: { "Reque

C# 强化清洁规则不';Don’不要清洗一切

我的团队最近开始在我们的.NET代码库(C#6和VB.NET)上使用Fortify Static Code Analyzer(17.10.0 156版),并且由于报告了大量误报而感到痛苦。对于任何给定的问题,我们不看它就无法知道它是否为假阳性,我们也不希望任何实际问题在混乱中迷失 我们有一个实用程序库,其中包含一个方法ReadEmbeddedSql,该方法从程序集中嵌入的资源中提取sql以执行。强化标记任何执行此方法返回的sql且带有sql注入漏洞的OracleCommand(来自Oracle.

C# 如何使用C在MYSQL中建立连接后定义数据库#

我已经准备好MYSQL连接字符串并建立了连接 这个正在连接数据库 Server={0};端口={1};数据库={2};UID={3};密码={4}”,服务器、端口、数据库、用户名、密码 这个连接没有数据库(我目前正在使用) “服务器={0};端口={1};UID={2};密码={3}”,服务器,端口,用户名,密码 我使用第二个,并希望在建立连接后选择或定义数据库。有什么办法吗?我不知道怎么做,这是我第一次遇到这个问题。非常简单。使用ChangeDatabase() 是的!我应该想到玩连接变量。谢

C# 发现CalendarID';Google日历API中的s

我目前正在做一个项目,在这个项目中,我必须将一个内部日历与属于某个域并与该域共享的所有google日历同步 我们有一种服务用户,如果我以该服务用户的身份登录到google calendar web应用程序,我可以搜索与我们公司域共享的所有员工日历并添加它们 这里的问题是,即使用户与域共享他们的日历,我也无法通过API搜索该日历并将其添加到我感兴趣的日历列表中 要在服务用户的日历列表中显示该用户的日历,唯一的方法是让我们从中获取事件的用户提供日历ID(手动从用户获取,或代表用户登录并获取),或者在