【C# 有丰富的内置运算符】教程文章相关的互联网学习教程文章

c# – 我可以使用=运算符指定构造函数值吗?【代码】

在C#中创建一个字符串时,你要做字符串foo =“bar”; string是一个类,值“bar”使用=运算符传递给类.怎么做的?你能在自己的班上做这件事吗? 我知道这在C中是可行的.class someClass { public:someClass(int someInt) {// Do Stuff}};int main() {someClass classInst = 123; }但是C#会等同于什么?解决方法:这个问题分为两部分: >字符串文字如何工作>如何为自己的班级做同样的事情 字符串文字 表达式“bar”已经是string类型的值...

c# – 三元运算符重叠【代码】

我想知道:这两个版本之间的性能最佳指令是什么:Background = Application.Current.Resources[condition ? BackgroundName1 : BackgroundName2] as Brush;和:Background = condition ? Application.Current.Resources[BackgroundName1] as Brush : Application.Current.Resources[BackgroundName2] as Brush;有什么不同吗?如果是,哪一个更好? 谢谢 NB:BackgroundName1& 2只是字符串解决方法:第一个更短,更易读. 它也更容易维护...

如何在C#linq中创建AND运算符?【代码】

IEnumerable<WireUsrTgInfo> lstWireData = (from var in lstWireUsrTgInfowhere var.bWireData == true && var.bWireData == false --> This is not workingselect var).AsEnumerable<WireUsrTgInfo>();这该怎么做 …解决方法:根据提供的代码var.bWireData == true && var.bWireData == false 它不能起作用,因为同一个变量当代不能等于两个对位值. 如果你需要参数化这个,你可以这样做:bool expectedValue = true; //OR False IEn...

c# – 在LINQ中使用IN运算符【代码】

我有List< Candidate>候选人,名单< Seat>座位 模型定义如下public class Seat{public string CollegeId { get; set; }public bool isFilled { get; set; }public string SeatType { get; set; }public string RollNumber { get; set; }}public class Candidate{public string RollNumber { get; set; }public bool isAllotted { get; set; }public string Quota { get; set; }public int CandidateRank { get; set; }public List<O...

如果然后在c#中使用三元运算符(?:)【代码】

this.value1和c.value1都可以为null或非null.所以共有4种组合进行测试. value2也可以为null或非null. 下面的if-then-else可以用更短的东西代替,比如使用三元运算符(如果那么使用?:运算符) – 对于这个特定情况,这会是一个不好的做法,因为我们测试了value1和value2的4个组合?public override bool Equals(object obj){bool value1_check = false;bool value2_check = false;var c = obj as ObjectType;if (this.value1 != null)v...

c# – ‘is’运算符不能应用于静态类型的操作数【代码】

在这种情况下,这个错误意味着什么?if (value == null)return "";if (value is Nullable && ((INullable)value).IsNull) //error on this linereturn "";if (value is DateTime) {if (((DateTime)value).TimeOfDay.TotalSeconds == 0)return ((DateTime)value).ToString ("yyyy-MM-dd");return ((DateTime)value).ToString ("yyyy-MM-dd HH:mm:ss"); }我搜索但没有得到任何关于此错误的信息.我在Mono(2.10.8.1)上尝试这个.这是一个...

将VB转换为C#help(?运算符)【代码】

我很感激将以下VB代码转换为C#的一些帮助.代码转换器到目前为止工作正常,但是这部分我碰到了一个砖墙,我不知道如何解决它.For Y As Integer = 0 To If(Flip, 1, 3) ... Next我认为这最初会起作用:for (int Y = 0; (Y <= Convert.ToInt32(Flip)) ? 1 : 3; Y++){...}但唉它没有.也许我只是不知所措,但我不知道如何继续这里. 谢谢你的任何建议! 编辑: 翻转是一个布尔值.转换器建议for (int Y = 0; Y <= Flip ? 1 : 3; Y++)导致运算...

使用C#7的foreach声明中的空合并运算符【代码】

我在C#7.0中查看this code示例,我不确定引擎盖下发生了什么以及此循环的性能.foreach (var c in text ?? throw new ArgumentNullException(nameof(text))) {... }我的问题: >条件语句是一次还是多次打击(打开每次迭代)?>新语法看起来不同,这样做有什么好处?解决方法:您应该了解foreach内部代码以了解此C#功能. foreach语句中表达式的右侧部分必须实现IEnumerable(< T>)接口,而整个循环在内部是一个简单的while,类似这样:// her...

c# – Null Check运算符仍然返回空值【代码】

我正在尝试从我的依赖注入器获取实现类型的所有通用服务protected List<ServiceDescriptor> GetGenericServicesFromGenericTypeDefinition(IServiceCollection services, Type baseGenericTypeDefinition) {if(false == baseGenericTypeDefinition.IsGenericTypeDefinition){throw new Exception($"Invalid Argument {nameof(baseGenericTypeDefinition)}");}//TODO: check the base type recursivelyvar genericImplementations ...

c# – 重写等于运算符【代码】

我试图覆盖Equals,以便它根据变量ID进行比较:public class OrderID {public string ID { get; private set; }public OrderID(string id){ID = id;}public override bool Equals(object obj){if (obj is OrderID){return ((OrderID)obj).ID == ID;}else return false;}public override string ToString(){return ID;} }但是,当我以下面的方式测试它时,它返回false:static void Main(string[] args) {OrderID i1 = new OrderID("He...

c# – 请帮助解决此错误:运算符’^’不能应用于’double’和’int’类型的操作数【代码】

我有以下C#代码.double a = 0;double d = 0; double er = 0; int N = numbers.Length; a=(N*N/6) + N d=(N-(N/2))*2for(int aa=1;aa<=data.length;aa++){er=((10-aa)*(-a\) + d - (numbers[aa,12]))^2;}数字是这种格式的双数组:1 0.3232 0.361 0.5214 0.233 -0.7678 2 0.3451 0.321 0.134 0.224 -0.706268 3 0.3123 0.351 0.155 0.523 -0.70626 4 0.36 0.312 0.216 0.233 -0.6453351 5 0.269 0.3331 0.162 0.224 -0.584962但是在运...

c# – IF语句中的运算符顺序【代码】

我经常在必要时执行此操作以防止空指针异常:// Example #1 if (cats != null && cats.Count > 0) {// Do something }在#1中,我总是假设猫!= null需要先行,因为操作顺序从左到右进行评估. 但是,与示例#1不同,现在我想要做一些事情,如果对象为null或Count为零,因此我使用逻辑OR而不是AND:// Example #2 if (table == null || table.Rows == null || table.Rows.Count <= 0) {// Do something }逻辑比较的顺序是否重要?或者我也可...

字符串等式运算符==在c#中【代码】

我试图在C#中查看为字符串类中的比较运算符实现的代码.发现是这样的://THIS IS NOT WHAT I MEANT public static bool Equals(object objA, object objB) {return ((objA == objB) || (((objA != null) && (objB != null)) && objA.Equals(objB))); }//THIS IS WHAT I SEE REALLY and the above is what I would expect to see public static bool Equals(string a, string b) {return ((a == b) || (((a != null) && (b != null))...

c# – 我(想)我想使用BItWise运算符来检查useraccountcontrol属性!【代码】

这是一些代码:DirectorySearcher searcher = new DirectorySearcher();searcher.Filter = "(&(objectClass=user)(sAMAccountName=" + lstUsers.SelectedItem.Text + "))";SearchResult result = searcher.FindOne();在result.Properties [“useraccountcontrol”]中将是一个项目,它将根据帐户的状态给我一个值.例如,值66050表示我正在处理:一个正常的帐户;密码未过期的地方;已被禁用的密码.Explanation here. 找出我的值是否“包...

C#.net – || OR运算符不表现.似乎是和AND一起工作【代码】

这可能只是我,但我一直在尝试在c#中执行while循环,如果两个条件中的任何一个为真,循环将结束. 我正在使用||操作符.谷歌告诉我那是OR,但我的循环只在两个条件都成立时结束.我究竟做错了什么? 这是一个代码示例:int sugar=0, salt=0, value=0; string tLine;Console.WriteLine("Enter integer values to add to Sugar and Salt."); Console.WriteLine("The loop should end when either one reaches 10 or more.");do {Console.Wri...