Questions tagged «c#»

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

4
如何在WPF中将DockStyle.Fill用于标准控件?
我使用的是Windows窗体,我创建了一个面板,将控件放置在其中,并赋予它们DockStyle.Fill最大尺寸以适应周围的面板。 在WPF中,我希望拥有相同的内容。我有一个TabControl,并且我希望它的大小能填充尽可能多的表单。我有一个功能区控件(RibbonControlsLibrary),并希望表格的其余部分以最大尺寸的TabControl填充。 (我不想将控件停靠在Visual Studio中,例如停靠,只是旧的停靠机制)
92 c#  wpf  tabcontrol  docking 


7
支持或反对.NET(野兽)的案例
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我工作的公司使用C ++ Builder6。我们从概念开始就一直在开发本机代码。我们的旗舰产品完全用本机代码编写。 一触即发,进入.NET Framework。我跌倒,钩,线和坠子。我相信管理层相信.NET应该绝对是我们所有新软件开发的新框架,并且我们应该开始尽快迁移现有的代码行。有了所有的好处,并不需要太多说服力。他们照常接受我的提议。 至此,我开始开发我的第一个.NET应用程序。一切都按计划进行。该项目只是我们产品的一个组成部分。因此,我要为这个新组件创建一个安装程序。作为一家公司,我们为使用户的操作尽可能简单而感到自豪。即使是拥有数千名开发人员的Microsoft,也不会像我们那样创建安装程序。例如,当您安装Microsoft CRM时,您将仅获得需要安装的故障列表和先决条件,然后才能继续。不是我们。决不。如果您需要什么,我们将为您安装。 这使我们的安装非常容易。.NET Framework未安装?没问题!我们会为您服务。需要SQL Native Client吗?精细! 问题是,既然我们的解决方案的一个组件是用.NET编写的,它会使安装过程变得异常复杂。在开始安装我们的产品之前,我需要执行以下操作: 检测是否已安装必备软件 如果没有安装 验证是否已成功安装 下一个前提条件 要安装.NET Framework,我首先需要Windows Installer 4.5。但是针对不同的操作系统有不同的版本,因此我添加了操作系统检测并启动正确的EXE。哦,.NET Framework已经与2k8打包在一起,并且安装程序exe无法在其上运行,您必须运行OCSetup.exe,并带有参数进行安装。 如此下去。然后需要安装SQL Express 2005。依赖关系再次增加。 我与管理层争辩说,即使Microsoft也不会让用户这么容易。他们的回答是,我们没有理由以这种方式不比他们更好。除了我认为他们采用其方法的理由很充分之外,我无法与之争论。 突然,我们的安装程序很大。.NET的所有先决条件,甚至都没有涉及64位支持,因为它具有要安装的EXE的单独范围。因此,现在我们希望用户能够下载“快速”评估。真是笑话。您需要下载500MB才能运行30MB的应用程序。大多数安装软件包是先决条件。 管理层认为我们有太多的依赖项/先决条件。我完全理解。他们建议我们从.NET框架转移到本机,在安装方面仍然“轻松”。这就是我一个人要支持.NET的地方,它从总体上解释了好处,改进的开发体验,更容易的维护和整体代码质量。我的另一部分完全同意他们的意见!在.NET中进行开发仅需要您安装太多其他先决条件,这会使安装复杂化。 是的,一些.NET倡导者将宣称所有内容都应安装在已修补和更新的操作系统上。的确如此,但并非所有客户都拥有此功能,只是说“对不起,先更新”就不会削减成本。请记住,我们为整体用户体验感到自豪。 现在,我们正在考虑再次编写本机代码,我知道我们在开发速度和.NET的所有优点方面正在遭受损失。但是我们正在这方面取得进展,无论您看与否,无论规模如何,我们都会有所作为。由于我们拥有本机代码开发技能,而.NET实际上是我们的新天地,因此退后甚至是有意义的。 我的问题是:如果我想继续将所有产品迁移到.NET,贵公司对这个问题的看法是什至根本没有问题,我向管理层建议的业务案例是什么样的?
92 c#  .net 

10
C#通过代理连接
我在办公室工作,该办公室要求所有连接都必须通过特定的http代理进行。我需要编写一个简单的应用程序来从Web服务器查询一些值-如果没有代理,这很容易。如何使C#应用程序可感知代理?如何通过代理建立任何形式的连接?
92 c#  proxy 

7
如何使用JSON,jQuery将复杂对象数组发布到ASP.NET MVC Controller?
我当前的代码如下所示。如何将数组传递给控制器​​,并且控制器动作必须接受哪种参数? function getplaceholders() { var placeholders = $('.ui-sortable'); var result = new Array(); placeholders.each(function() { var ph = $(this).attr('id'); var sections = $(this).find('.sort'); var section; sections.each(function(i, item) { var sid = $(item).attr('id'); result.push({ 'SectionId': sid, 'Placeholder': ph, 'Position': i }); }); }); alert(result.toString()); $.post( '/portal/Designer.mvc/SaveOrUpdate', result, function(data) { alert(data.Result); }, …

16
如何动态评估C#代码?
我可以做一个eval("something()");在JavaScript中动态执行代码。有没有办法让我在C#中做同样的事情? 我要尝试执行的一个示例是:我有一个整数变量(例如i),并且具有多个具有以下名称的属性:“ Property1”,“ Property2”,“ Property3”等。现在,我想执行一些操作在“ Property i ”属性上取决于值i。 使用Javascript确实很简单。有什么办法用C#做到这一点?

15
app.config / web.config中的变量
是否可以在app.config或web.config文件中执行以下操作? <appSettings> <add key="MyBaseDir" value="C:\MyBase" /> <add key="Dir1" value="[MyBaseDir]\Dir1"/> <add key="Dir2" value="[MyBaseDir]\Dir2"/> </appSettings> 然后,我想通过简单地说出代码来访问Dir2: ConfigurationManager.AppSettings["Dir2"] 当我将应用程序安装在不同的服务器和位置中时,这将对我有帮助,在这些位置和位置中,我只需要更改一个即可app.config。(我知道我可以在代码中管理所有串联,但是我更喜欢这种方式)。


4
一个好的尝试/捕获/最终解决方案?
我需要async在一个catch块中调用一个方法,然后再次引发异常(及其堆栈跟踪),如下所示: try { // Do something } catch { // <- Clean things here with async methods throw; } 但是很遗憾,您不能await在catch或finally块中使用。我了解到这是因为编译器没有任何办法可以返回一个catch块来执行await指令或类似指令之后的内容... 我试图用它Task.Wait()来替换await,但陷入僵局。我在网上搜索了如何避免这种情况的方法,并找到了该站点。 由于我无法更改async方法,也无法知道它们是否在使用ConfigureAwait(false),因此创建了这些方法,这些方法采用a Func<Task>,一旦我们在不同的线程上(以避免死锁),它就会启动异步方法并等待其完成: public static void AwaitTaskSync(Func<Task> action) { Task.Run(async () => await action().ConfigureAwait(false)).Wait(); } public static TResult AwaitTaskSync<TResult>(Func<Task<TResult>> action) { return Task.Run(async () => await action().ConfigureAwait(false)).Result; } public static …

13
条件Linq查询
我们正在研究日志查看器。使用时可以选择按用户,严重性等进行过滤。在Sql天内,我将添加到查询字符串中,但是我想使用Linq进行过滤。如何有条件地添加子句?

3
控制台应用程序C#中的App.Config文件
我有一个控制台应用程序,我想在其中编写文件名。 Process.Start("blah.bat"); 通常情况下,我会通过写文件的名称在Windows应用程序类似的东西'blah.bat'来设置文件属性。 但是,在这里我找不到任何设置文件,并且出于相同的目的添加了app.config。 我不确定在app.config中写什么,这将导致我实现与Windows Forms类似的事情。 例如:在Windows窗体中。Process.Start(Properties.Settings.Default.BatchFile); 其中“ BatchFile属性”中的设置文件中的字符串。
92 c#  console 

9
在哪里可以找到.NET中的“ clamp”功能?
我想将值限制x在一个范围内[a, b]: x = (x < a) ? a : ((x > b) ? b : x); 这是很基本的。但是我没有在类库中看到函数“ clamp”-至少没有System.Math。 (对于不知道“钳位”的值是要确保它介于某个最大值和最小值之间。如果该值大于最大值,则将其替换为最大值,等等。)
92 c#  clamp 

5
正则表达式删除所有(非数字或期间)
我需要将“ joe($ 3,004.50)”之类的文本过滤到3004.50,但在正则表达式中却很糟糕,无法找到合适的解决方案。因此,只有数字和句点应该保留-其他所有内容都被过滤掉了。我使用C#和VS.net 2008框架3.5
92 c#  regex 

5
如何阅读web.config文件中的appSettings部分?
我的XML看起来像这样,文件名是 web.config <?xml version="1.0"?> <configuration> <appSettings> <add key="configFile" value="IIS.config"/> <add key="RialtoDomain" value="ASNC_AUDITORS"/> </appSettings> <system.serviceModel> .... </system.serviceModel> </configuration> 在代码中,我这样读 String path = ConfigurationSettings.AppSettings["configFile"]; 我得到一个空值。没有异常被抛出。这是正确的方法吗?
92 c#  asp.net  web-config 

6
序列化可为null的int
我有一个带有可为null的int的类?设置为序列化为xml元素的数据类型。有什么方法可以设置它,以便xml序列化程序在值为null时不会序列化元素? 我尝试添加[System.Xml.Serialization.XmlElement(IsNullable = false)]属性,但是我收到一个运行时序列化异常,提示存在反映该类型的错误,因为“ IsNullable可能未设置为'false “表示Nullable类型。请考虑使用“ System.Int32”类型或从XmlElement属性中删除IsNullable属性。” [Serializable] [System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")] public class Score { private int? iID_m; ... /// <summary> /// /// </summary> public int? ID { get { return iID_m; } set { iID_m = value; } } ... } 上面的类将序列化为: <Score xmlns="http://mycomp.com/test/score/v1"> <ID xsi:nil="true" /> </Score> …
92 c#  .net  xml  serialization 

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.