Questions tagged «c#»

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

17
将对象序列化为XML
我有一个继承的C#类。我已经成功“构建”了对象。但是我需要将该对象序列化为XML。有一个简单的方法吗? 看起来该类已设置为进行序列化,但是我不确定如何获取XML表示形式。我的课程定义如下: [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.domain.com/test")] [System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.domain.com/test", IsNullable = false)] public partial class MyObject { ... } 这是我以为可以做的,但是不起作用: MyObject o = new MyObject(); // Set o properties string xml = o.ToString(); 如何获得该对象的XML表示形式?


16
使用字符串格式最多显示两位小数或简单整数
我有一个要显示的价格字段,有时可以是100或100.99或100.9,我要显示的是仅在为该价格输入小数时才在2个小数位显示价格,例如,如果它是100,则仅显示100而不是100.00,如果价格是100.2,则应显示100.20,对于100.22应该相同。我用谷歌搜索并遇到了一些例子,但它们与我想要的完全不匹配: // just two decimal places String.Format("{0:0.00}", 123.4567); // "123.46" String.Format("{0:0.00}", 123.4); // "123.40" String.Format("{0:0.00}", 123.0); // "123.00"

10
在C#中对私有方法进行单元测试
Visual Studio允许通过自动生成的访问器类对私有方法进行单元测试。我已经编写了一个测试成功的私有方法的测试,但是在运行时失败。相当简单的代码版本和测试是: //in project MyProj class TypeA { private List<TypeB> myList = new List<TypeB>(); private class TypeB { public TypeB() { } } public TypeA() { } private void MyFunc() { //processing of myList that changes state of instance } } //in project TestMyProj public void MyFuncTest() { TypeA_Accessor target …
291 c#  unit-testing 

10
如何将参数传递给Thread中的ThreadStart方法?
如何将参数传递给Thread.ThreadStart()C#中的方法? 假设我有一个名为“下载”的方法 public void download(string filename) { // download code } 现在,我在main方法中创建了一个线程: Thread thread = new Thread(new ThreadStart(download(filename)); 错误方法类型预期。 如何将参数传递给ThreadStart带有参数的目标方法?
290 c#  .net  multithreading 



11
为什么在传递对象时使用'ref'关键字?
如果将对象传递给方法,为什么要使用ref关键字?这不是默认行为吗? 例如: class Program { static void Main(string[] args) { TestRef t = new TestRef(); t.Something = "Foo"; DoSomething(t); Console.WriteLine(t.Something); } static public void DoSomething(TestRef t) { t.Something = "Bar"; } } public class TestRef { public string Something { get; set; } } 输出为“ Bar”,表示该对象已作为参考传递。

28
使用C#检查字符串是否在字符串数组中包含字符串
我想使用C#检查字符串值是否在字符串数组中包含单词。例如, string stringToCheck = "text1text2text3"; string[] stringArray = { "text1", "someothertext", etc... }; if(stringToCheck.contains stringArray) //one of the items? { } 如何检查'stringToCheck'的字符串值在数组中是否包含单词?
290 c#  arrays  string  search 

5
从HttpWebRequest和HttpWebResponse获取Http状态代码号(200、301、404等)
我正在尝试从从HttpWebResponse返回的对象中获取HTTP状态代码号HttpWebRequest。我希望获得实际数字(200、301、302、404等),而不是文字说明。(“ Ok”,“ MovedPermanently”等),该数字是否埋在响应对象中某个位置的属性中?除了创建大型开关功能外,还有其他想法吗?谢谢。 HttpWebRequest webRequest = (HttpWebRequest)WebRequest .Create("http://www.gooogle.com/"); webRequest.AllowAutoRedirect = false; HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); //Returns "MovedPermanently", not 301 which is what I want. Console.Write(response.StatusCode.ToString());
289 c#  .net  http  httpwebrequest 

13
C#中泛型参数的空值或默认比较
我有这样定义的通用方法: public void MyMethod<T>(T myArgument) 我要做的第一件事是检查myArgument的值是否是该类型的默认值,如下所示: if (myArgument == default(T)) 但这不能编译,因为我不能保证T将实现==运算符。所以我将代码切换为: if (myArgument.Equals(default(T))) 现在可以编译,但是如果myArgument为null,则失败,这是我要测试的一部分。我可以像这样添加一个显式的null检查: if (myArgument == null || myArgument.Equals(default(T))) 现在这对我来说是多余的。ReSharper甚至建议我将myArgument == null部分更改为myArgument == default(T),这是我开始的地方。有解决这个问题的更好方法吗? 我需要支持两种引用类型和值类型。
288 c#  generics 

17
如何调整图像C#的大小
如Size,Width和Height是Get()的性质System.Drawing.Image; 如何在运行时使用C#调整Image对象的大小? 现在,我正在Image使用以下方法创建一个新的: // objImage is the original Image Bitmap objBitmap = new Bitmap(objImage, new Size(227, 171));
288 c#  image  resize 

6
从Web API使用HttpClient发布JsonObject
我正在尝试JsonObject通过HttpClientWeb API发布。我不太确定该怎么做,在示例代码中找不到太多。 这是我到目前为止的内容: var myObject = (dynamic)new JsonObject(); myObject.Data = "some data"; myObject.Data2 = "some more data"; HttpClient httpClient = new HttpClient("myurl"); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = httpClient.Post("", ???); 我想我需要把我JsonObject当成演员,StreamContent但是我对此很挂念。

8
找不到编译动态表达式所需的一种或多种类型。您是否缺少对Microsoft.CSharp.dll和System.Core.dll的引用?
我正在尝试在Microsoft Visual C#2010中编译此代码 using System; using System.Globalization; class main { static void Main() { dynamic d; d = "dyna"; Console.WriteLine(d); } } 但是我遇到了这两个错误 错误1未定义或导入预定义的类型'Microsoft.CSharp.RuntimeBinder.Binder' 错误2找不到编译动态表达式所需的一种或多种类型。您是否缺少对Microsoft.CSharp.dll和System.Core.dll的引用? 我读了另一篇文章,但是我是C#的新手,我不明白真正的问题是什么。尤其是这些所谓的.config文件在什么地方。
287 c#  .net 


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.