Questions tagged «c#»

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

23
将占位符文本添加到文本框
我正在寻找一种将占位符文本添加到文本框的方法,就像使用html5中的文本框一样。 即,如果文本框没有文本,则添加文本Enter some text here,当用户单击它时,占位符文本消失并允许用户输入自己的文本,如果文本框失去焦点并且仍然没有文本,则占位符为添加回文本框。
147 c#  wpf  placeholder 


6
从Javascript访问MVC的模型属性
我的视图模型中包含以下模型 public class FloorPlanSettingsModel { public int Id { get; set; } public int? MainFloorPlanId { get; set; } public string ImageDirectory { get; set; } public string ThumbnailDirectory { get; set; } public string IconsDirectory { get; set; } } 如何从Javascript访问上述属性之一? 我尝试了这个,但是我得到了“未定义” var floorplanSettings = "@Model.FloorPlanSettings"; alert(floorplanSettings.IconsDirectory);


12
对数据表中的行进行排序
我们在中有两列DataTable,如下所示: COL1 COL2 Abc 5 Def 8 Ghi 3 我们正在努力解决这datatable基础上COL2按递减顺序。 COL1 COL2 ghi 8 abc 4 def 3 jkl 1 我们尝试了这个: ft.DefaultView.Sort = "COL2 desc"; ft = ft.DefaultView.ToTable(true); 但是,不使用a DataView,我们要对DataTable自身进行排序,而不要对进行排序DataView。
146 c#  sorting  datatable 

16
为什么在派生类中调用方法会调用基类方法?
考虑以下代码: class Program { static void Main(string[] args) { Person person = new Teacher(); person.ShowInfo(); Console.ReadLine(); } } public class Person { public void ShowInfo() { Console.WriteLine("I am Person"); } } public class Teacher : Person { public new void ShowInfo() { Console.WriteLine("I am Teacher"); } } 当我运行此代码时,将输出以下内容: 我是人 但是,您可以看到它是的实例Teacher,而不是的实例Person。代码为什么要这样做?
146 c#  class  derived-class 

30
Visual Studio 2013找不到单元测试
我在Visual Studio 2013中有一个简单的解决方案,它由一个Web项目,一个库项目和一个单元测试项目组成。当我打开解决方案并尝试运行单元测试时,Visual Studio不会发现它们。要运行测试,我尝试转到菜单并选择“测试”->“运行”->“运行所有测试”或打开“测试资源管理器”窗口。通过这些方法,Visual Studio不会在解决方案中发现任何测试。 首先创建一个简单的单元测试项目,然后尝试运行测试,Visual Studio知道发现该测试,然后我就可以运行它。然后,如果我打开以前的解决方案,Visual Studio现在会发现所有测试。我尝试保存我的解决方案,但先关闭并重新打开它,而无需先创建单元测试项目,Visual Studio不会再次找到测试。这是一个非常奇怪的行为,我不知道为什么会这样。 我曾经在这个项目中独自工作过,该项目使用的是与Visual Studio Team Foundation集成的源代码控制git。当一个新元素进入项目以及需要通过在线源代码控件重新创建解决方案时,Visual Studio的问题不会发现单元测试开始。在此之前,Visual Studio始终会发现所有测试。 为了创建单元测试,我使用了Microsoft.VisualStudio.QualityTools.UnitTestFramework dll。我的Visual Studio版本是:Microsoft Visual Studio Express 2013,用于Web版本12.0.30723.00更新3。我的.net Framework版本是4.5.50938。 我所有的测试都是这样的: [TestClass] public class Service1Test { [TestMethod] public void Test1() { Assert.IsTrue(True); } }

10
查找当前时间是否在某个时间范围内
使用.NET 3.5 我想确定当前时间是否在某个时间范围内。 到目前为止,我有currentime: DateTime currentTime = new DateTime(); currentTime.TimeOfDay; 我正在研究如何转换和比较时间范围。这行得通吗? if (Convert.ToDateTime("11:59") <= currentTime.TimeOfDay && Convert.ToDateTime("13:01") >= currentTime.TimeOfDay) { //match found } UPDATE1:谢谢大家的建议。我对TimeSpan函数不熟悉。
146 c#  datetime  timespan 

9
有没有一种方法可以检查WPF当前是否在设计模式下执行?
有谁知道一些可用的全局状态变量,以便我可以检查代码当前是否正在设计模式下执行(例如在Blend或Visual Studio中)? 它看起来像这样: //pseudo code: if (Application.Current.ExecutingStatus == ExecutingStatus.DesignMode) { ... } 我需要这样做的原因是:当我的应用程序在Expression Blend中以设计模式显示时,我希望ViewModel改为使用其中包含模拟数据的“ Design Customer类”,设计人员可以在设计模式下查看。 但是,当应用程序实际执行时,我当然希望ViewModel使用返回真实数据的真实Customer类。 目前,我可以通过让设计者着手解决这个问题,在他进行设计之前,先进入ViewModel并将“ ApplicationDevelopmentMode.Executing”更改为“ ApplicationDevelopmentMode.Designing”: public CustomersViewModel() { _currentApplicationDevelopmentMode = ApplicationDevelopmentMode.Designing; } public ObservableCollection<Customer> GetAll { get { try { if (_currentApplicationDevelopmentMode == ApplicationDevelopmentMode.Developing) { return Customer.GetAll; } else { return CustomerDesign.GetAll; } } catch …
146 c#  wpf  expression-blend 

7
为什么我可以将1传递为short而不传递int变量i?
为什么第一个和第二个Write起作用而最后一个不起作用?有没有一种方法可以让我全部允许3个人,并检测它是否为1,(int)1或我传入?真的为什么允许一个,但最后一个呢?第二个被允许,但最后一个没有被我震惊。 演示以显示编译错误 using System; class Program { public static void Write(short v) { } static void Main(string[] args) { Write(1);//ok Write((int)1);//ok int i=1; Write(i);//error!? } }

6
为什么在Windows 10控制台中将无穷大打印为“ 8”?
我测试了什么,从分工返回包括零,即0/1,1/0和0/0。为此,我使用了类似于以下内容的内容: Console.WriteLine(1d / 0d); 但是,此代码8不会打印Infinity或输出其他字符串常量,例如PositiveInfinity。 为了完整起见,以下所有打印内容8: Console.WriteLine(1d / 0d); double value = 1d / 0d; Console.WriteLine(value); Console.WriteLine(Double.PositiveInfinity); 并Console.WriteLine(Double.NegativeInfinity);打印-8。 为什么此无穷大打印8? 对于那些似乎认为这是一个无限符号而不是八个以下程序的用户: Console.WriteLine(1d / 0d); double value = 1d / 0d; Console.WriteLine(value); Console.WriteLine(Double.PositiveInfinity); Console.WriteLine(8); 输出:
146 c#  .net  windows 

6
C#:为什么要签署程序集?
在我接管的某些C#代码中(在Visual Studio 2005中),我注意到程序集都使用同一.snk文件签名。 为什么以前的作者会以这种方式对程序集签名? 签名程序集是必需的吗?不签名怎么办? 签名程序集有什么缺点-​​会导致延迟吗?
146 c#  assemblies 



6
如何在C#中将字符串转换为UTF-8?
我有一个从第三方应用程序收到的字符串,我想在Windows Surface上使用C#以任何语言正确显示它。 由于编码不正确,我的一部分字符串在西班牙语中看起来像这样: Acción 而它应该看起来像这样: Acción 根据关于这个问题的答案: 如何知道C#中的字符串编码,我正在接收的编码应该已经在UTF-8上了,但是它是在Encoding.Default(可能是ANSI?)上读取的。 我正在尝试将此字符串转换为真正的UTF-8,但是问题之一是我只能看到Encoding类的一个子集(仅适用于UTF8和Unicode属性),可能是因为我仅限于Windows Surface API。 我尝试了一些在互联网上找到的代码片段,但到目前为止,对于东方语言(例如韩语),它们都没有被证明是成功的。一个示例如下: var utf8 = Encoding.UTF8; byte[] utfBytes = utf8.GetBytes(myString); myString= utf8.GetString(utfBytes, 0, utfBytes.Length); 我还尝试将字符串提取到字节数组中,然后使用UTF8.GetString: byte[] myByteArray = new byte[myString.Length]; for (int ix = 0; ix < myString.Length; ++ix) { char ch = myString[ix]; myByteArray[ix] = (byte) ch; } myString …

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.