Double.Parse – 国际化问题

这真让我抓狂。 我在ASP.NET 2.0 WebForm页面中有以下字符串 string s = “0.009”; 很简单。 现在,如果我的文化是西class牙语 – 这是“es-ES” – 我尝试将字符串转换为Double,我会执行以下操作: double d = Double.Parse(s, new CultureInfo(“es-ES”)); 我期待的是0,009。 相反,我得到9.我明白.NET认为它是千分隔符,在en-US中是一个逗号,但不应该把我传递给parse方法的文化信息并应用正确的格式转换? 如果我做 double d = 0.009D; string formatted = d.ToString(new CultureInfo(“es-ES”)); 格式化现在是0,009。 任何人?

如何最小化任务栏中的表单?

我开发了winform应用程序,并设置了formborderstyle = none。 那就是为什么当我运行应用程序时我无法通过任务栏将其最小化。 有没有人知道这方面的解决方案? 我尝试了以下代码..在我的表单中添加它。 const int WS_CLIPCHILDREN = 0x2000000; const int WS_MINIMIZEBOX = 0x20000; const int WS_MAXIMIZEBOX = 0x10000; const int WS_SYSMENU = 0x80000; const int CS_DBLCLKS = 0x8; protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.Style = WS_CLIPCHILDREN | WS_MINIMIZEBOX | WS_SYSMENU; cp.ClassStyle = CS_DBLCLKS; return cp; } […]

在C#中创建动态变量名

我正在尝试用C#编写一个简单的角色扮演游戏,以便更熟悉该语言。 我有一个类从CSV文件加载数据,创建一个对象,并将其放在字典中。 因为游戏的每个方面都有不同的数据(项目,演员,技能等),所以我将每个方面都设置为一个类,但这要求我为每个方面重新实现一个Load()方法。 在做了5到6次之后,我想知道是否有更好的方法来实现它。 基本上,我想要做的是解析包含标题的CSV的第一行,并将它们用作类变量名。 目前,它们是作为字典关系实现的,所以我会做SomeClassInstance.dict [“id”],其中我理想地输入SomeClassInstance.id,它完全是从文件的内容生成的。 那是一件事吗? 我该怎么做呢?

无法在System.Int32和System.String上执行“Like”操作。 DataGridView搜索和过滤

我有一个表单,当我从ComboBox中选择一个列名,并在文本框中键入它时,它会过滤并在DataGridView中显示搜索的条件。 当我搜索“引用”时,它是一个int数据类型,也是标识和主键。 我收到错误消息: “无法在System.Int32和System.String上执行’Like’操作。” 我的代码是 DataTable dt; private void searchForm_Load(object sender, EventArgs e) { SqlCeConnection con = new SqlCeConnection(@”Data Source=|DataDirectory|\LWADataBase.sdf;”); SqlCeDataAdapter sda = new SqlCeDataAdapter(“select * from customersTBL”, con); dt = new DataTable(); sda.Fill(dt); dataGridView1.DataSource = dt; comboSearch.Items.Add(“[Reference]”); comboSearch.Items.Add(“[First Name]”); comboSearch.Items.Add(“[Surename]”); comboSearch.Items.Add(“[Address Line 1]”); comboSearch.Items.Add(“[Address Line 2]”); comboSearch.Items.Add(“[County]”); comboSearch.Items.Add(“[Post Code]”); comboSearch.Items.Add(“[Contact Number]”); comboSearch.Items.Add(“[Email Address]”); } […]

在C#中以编程方式创建WCF客户端的标头(wsse)部分

如何以编程方式在app #config中创建app.config服务设置的以下部分: someusername somepassword 我设法从c#生成绑定部分(上面没有包含)和端点部分。 我无法创建标题部分。 出现的错误是:(这是因为当我从c#生成所有内容时,我没有标题部分) 此服务需要 ,缺少该服务。 header部分很重要,好像我从配置中排除它并使用config运行代码它也会产生上述错误。 我不想使用web.config / app.config。 我必须从C#运行所有东西。 (上面的app.config工作正常,但我想通过c#做同样的事情) 注意:以下更新是基于以下提供的解决方案请通过以下解决方案的评论,以获得更好的理解 更新1 :(首先以编程方式使用BasicHttpBinding) BasicHttpBinding binding = new BasicHttpBinding(); binding.Name = “Contact”; binding.CloseTimeout = TimeSpan.FromMinutes(1); binding.OpenTimeout = TimeSpan.FromMinutes(1); binding.ReceiveTimeout = TimeSpan.FromMinutes(10); binding.SendTimeout = TimeSpan.FromMinutes(1); binding.AllowCookies = false; binding.BypassProxyOnLocal = false; binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; binding.MaxBufferSize = 524288; binding.MaxBufferPoolSize = 524288; binding.MaxReceivedMessageSize = […]

使用Moq在C#中设置索引器

我无法弄清楚如何使用Moq在C#中设置索引器 。 Moq文档很薄弱,我已经做了很多搜索……我想做的事情在如何设置索引属性的解决方案中类似: var someClass = new Mock(); someClass.SetupSet(o => o.SomeIndexedProperty[3] = 25); 我想修改上面的内容以适用于任何索引和任何值,所以我可以这样做: someClass.Object.SomeIndexedProperty[1] = 5; 目前我有以下内容,它对索引属性getter非常有用,但如果我设置了值,则Moq会忽略它: var someValues = new int[] { 10, 20, 30, 40 }; var someClass = new Mock(); someClass.Setup(o => o.SomeIndexedProperty[It.IsAny()]) .Returns(index => someValues[index]); // Moq doesn’t set the value below, so the Assert fails! someClass.Object.SomeIndexedProperty[3] = 25; Assert.AreEqual(25, […]

$ select和$ expand break ODataQueryOptions – 如何修复?

我们将Microsoft ASP.NET MVC OData WebAPI用于我们的Web服务。 由于围绕层次结构ID的某些数据架构问题(这些问题超出了此对话的范围),我们的一些GET操作必须使用ODataQueryOptions并手动操作表达式以添加其他限制。 我们这样做(删除error handling代码并调用内联的其他方法) public IQueryable Get(ODataQueryOptions oDataQueryOptions) { IQueryable result; IQueryable dataSet = context.Persons; var tempQuery = oDataQueryOptions.ApplyTo(dataSet).Cast(); var modifier = new HierarchyNodeExpressionVisitor(GetDescendantsOfNode, GetAncestorsOfNode); var expression = modifier.ModifyHierarchyNodeExpression(tempQuery.Expression); result = context.Persons.Provider.CreateQuery(expression); return result; } 这已经有一段时间了,但是我们一直在急切地等待选择和扩展,以便我们能够更好地控制从服务中获得的数据。 星期一我们将我们的开发环境更新为WebApi OData 5.0.0-rc1并进行了select-and-expand工作,但我们不能将它用于使用ODataQueryOptions的这些服务。 我们只能用它来对付我们的其他服务。 如果我们使用$select和/或$expand查询上面的代码,我们会收到以下错误: “message”: “The ‘ObjectContent`1’ type failed to serialize the response body […]

为什么字符串的行为类似于ValueType

在执行这段代码之后,我感到很困惑,其中字符串似乎表现得好像它们是值类型。 我想知道赋值运算符是否运行像字符串的相等运算符之类的值。 这是我为测试此行为而执行的一段代码。 using System; namespace RefTypeDelimma { class Program { static void Main(string[] args) { string a1, a2; a1 = “ABC”; a2 = a1; //This should assign a1 reference to a2 a2 = “XYZ”; //I expect this should change the a1 value to “XYZ” Console.WriteLine(“a1:” + a1 + “, a2:” + a2);//Outputs a1:ABC, a2:XYZ […]

将BitmapImage设置为null时,内存不会被释放

我有一个对象集合,每个对象包含一个BitmapImage。 我把这个集合绑定到FlipView。 当用户在FlipView中翻转页面时,所选对象的BitmapInmage将从ApplicationData加载,并将前一个对象的BitmapImage设置为null以释放内存。 问题是,内存永远不会松懈,应用程序在翻转一段时间后崩溃。 当我查看集合时,只有实际项目设置了BitmapImage,所有其他项目都将其设置为null。 那么我该如何减轻记忆? 我加载图片的方式: StorageFile s = await ApplicationData.Current.LocalFolder.GetFileAsync(localFilename); BitmapImage bitmapImage = new BitmapImage(); using (var stream = await s.OpenAsync(FileAccessMode.Read)) { bitmapImage.SetSource(stream); } return bitmapImage; 编辑:我认为问题可能是我加载图像的方式,我想文件流不会被释放

获取Outlook 2007中当前用户的电子邮件地址

我有一个用C#编写的Outlook添加。 我想知道如何获得当前用户的电子邮件地址? 谢谢