Tag: C#的

访问成员expression式的值

如果我有一个产品。 var p = new Product { Price = 30 }; 我有以下linq查询。 var q = repo.Products().Where(x=>x.Price == p.Price).ToList() 在一个IQueryable提供程序中,我得到一个包含常量expression式的p.Price的MemberExpression,但是我似乎无法从中得到值“30”。 更新我已经尝试过,但它似乎并没有工作。 var memberExpression = (MemberExpression)GetRootConstantExpression(m); var fi = (PropertyInfo)memberExpression.Member; var val = fi.GetValue(((ConstantExpression)memberExpression.Expression).Value, null); 干杯。

正则expression式来从string中删除所有特殊字符?

我完全不能使用正则expression式,所以我需要帮助解决一个我认为最好通过正则expression式解决的问题。 我有C#中的string列表: List<string> lstNames = new List<string>(); lstNames.add("TRA-94:23"); lstNames.add("TRA-42:101"); lstNames.add("TRA-109:AD"); foreach (string n in lstNames) { // logic goes here that somehow uses regex to remove all special characters string regExp = "NO_IDEA"; string tmp = Regex.Replace(n, regExp, ""); } 我需要能够遍历列表并返回每个项目没有任何特殊字符。 例如,项目一将是“TRA9423”,项目二将是“TRA42101”,项目三将是TRA109AD。 有一个正则expression式可以为我做到这一点? 此外,该列表包含超过4000个项目,所以我需要search和replace,如果可能的话高效快捷。 预先感谢我收到的任何帮助。 编辑:对不起,我应该指定任何字符旁边的AZ,AZ和0-9在我的情况是特殊的。

Visual Studio 2010中的Web部署 – 缺lessWebpipe理服务

我正在使用IIS 7.5在Windows 2008(x64)上设置新的服务器。 我已经从Web平台安装程序安装了Web Deploy 2.1。 但是服务器缺lessWebpipe理服务,因此任何Web部署都会失败并显示以下消息: Error 1 Web deployment task failed.(Could not complete the request to remote agent URL 'https://url:8172/MsDeploy.axd?site=Default Web Site'.) This error indicates that you cannot connect to the server. Make sure the service URL is correct, firewall and network settings on this computer and on the server computer are configured […]

Ifstring的一个class轮不是空的或空的

在整个应用程序中,我通常会以各种理由使用这样的东西: if (String.IsNullOrEmpty(strFoo)) { FooTextBox.Text = "0"; } else { FooTextBox.Text = strFoo; } 如果我打算使用它,我会创build一个返回所需string的方法。 例如: public string NonBlankValueOf(string strTestString) { if (String.IsNullOrEmpty(strTestString)) return "0"; else return strTestString; } 并使用它像: FooTextBox.Text = NonBlankValueOf(strFoo); 我总是想知道是否有某些东西是C#的一部分,会为我做这个。 一些可以被称为的东西: FooTextBox.Text = String.IsNullOrEmpty(strFoo,"0") 第二个参数是返回值,如果String.IsNullOrEmpty(strFoo) == true 如果没有人有更好的方法,他们使用?

c#foreach(property in object)…有没有一个简单的方法来做到这一点?

我有一个包含多个属性的类(如果有任何区别,所有都是string)。 我也有一个列表,其中包含许多不同的类实例。 当为我的类创build一些unit testing时,我决定循环遍历列表中的每个对象,然后遍历该对象的每个属性。 我以为这样做会很简单 foreach (Object obj in theList) { foreach (Property theProperties in obj) { do some stufff!!; } } 但是这没有工作! :(我得到这个错误… “foreach语句不能对'Application.Object'types的variables进行操作,因为'Application.Object'不包含'GetEnumerator'的公共定义 有没有人知道这样做没有吨ifs和循环或没有进入任何太复杂的方式吗?

如何使用对象的优先级队列STL?

class Person { public: int age; }; 我想将Person类的对象存储在优先级队列中。 priority_queue< Person, vector<Person>, ??? > 我觉得我需要为比较而定义一个类,但是我不确定。 另外,当我们写, priority_queue< int, vector<int>, greater<int> > 如何做更大的工作?

操作后恢复std :: cout的状态

假设我有这样的代码: void printHex(std::ostream& x){ x<<std::hex<<123; } .. int main(){ std::cout<<100; // prints 100 base 10 printHex(std::cout); //prints 123 in hex std::cout<<73; //problem! prints 73 in hex.. } 我的问题是,如果有什么办法从函数返回后将cout的状态恢复到原来的状态? (有点像std :: boolalpha和std :: noboolalpha ..)? 谢谢。

为多种体系结构生成优化的NDK代码?

我有一些用于Android的C代码,可以处理大量的低级别数字。 我想知道我应该使用什么设置(例如,我的Android.mk和Application.mk)文件,以便生成的代码可以在所有当前Android设备上运行,但也可以利用特定芯片组的优化。 我正在寻找良好的默认Android.mk和Application.mk设置来使用,并且我想避免使用#ifdef分支乱丢我的C代码。 例如,我知道ARMv7具有浮点指令,一些ARMv7芯片支持NEON指令,默认的ARM不支持这两种指令。 是否可以设置标志,以便我可以用NEON构buildARMv7,没有NEON的ARMv7和默认的ARM构build? 我知道如何做后两个,但不是全部3.我对使用什么设置谨慎,因为我认为当前的默认设置是最安全的设置,其他选项有什么风险。 对于GCC特定的优化,我使用以下标志: LOCAL_CFLAGS=-ffast-math -O3 -funroll-loops 我已经检查了所有这三个加速我的代码。 还有其他常见的我可以添加吗? 我的另一个build议是在Android.mk上添加“LOCAL_ARM_MODE:= arm”,以加快新的arm芯片的速度(尽pipe我很困惑这是什么以及旧芯片会发生什么)。

使WPF应用程序全屏(封面启动菜单)

我想使我的WPF应用程序全屏。 现在开始菜单阻止它覆盖所有内容,并将我的应用程序转移。 这是我的MainWindow.xaml代码: <Window x:Class="HTA.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" mc:Ignorable="d" WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" Width="1024" Height="768">

我的枚举不是一个类或命名空间

嗨,我有文件称为MyCode.h和MyCode.cpp 在MyCode.h中我已经声明 enum MyEnum {Something = 0, SomethingElse = 1}; class MyClass { MyEnum enumInstance; void Foo(); }; 然后在MyCode.cpp中: #include "MyCode.h" void MyClass::Foo() { enumInstance = MyEnum::SomethingElse; } 但使用g ++编译时出现错误“MyEnum”不是类或名称空间… (在MS VS2010中工作正常,但不是Linux的G + +) 有任何想法吗? 谢谢Thomas