Analyzers

Id Title Default Severity Enabled by Default
RCS1001 Add braces (when expression spans over multiple lines). Info
RCS1002 Remove braces. Hidden
RCS1003 Add braces to if-else (when expression spans over multiple lines). Info
RCS1004 Remove braces from if-else. Hidden
RCS1005 Simplify nested using statement. Hidden
RCS1006 Merge else clause with nested if statement. Hidden
RCS1007 Add braces. Info
RCS1008 Use explicit type instead of 'var' (when the type is not obvious). Hidden
RCS1009 Use explicit type instead of 'var' (foreach variable). Hidden
RCS1010 Use 'var' instead of explicit type (when the type is obvious). Hidden
RCS1012 Use explicit type instead of 'var' (when the type is obvious). Hidden
RCS1013 Use predefined type. Info
RCS1014 Avoid implicitly-typed array. Info
RCS1015 Use nameof operator. Info
RCS1016 Use expression-bodied member. Hidden
RCS1017 Avoid multiline expression body. Warning
RCS1018 Add default access modifier. Info
RCS1019 Reorder modifiers. Info
RCS1020 Simplify Nullable<T> to T?. Info
RCS1021 Simplify lambda expression. Info
RCS1022 Simplify lambda expression parameter list. Hidden
RCS1023 Format empty block. Info
RCS1024 Format accessor list. Info
RCS1025 Format each enum member on a separate line. Info
RCS1026 Format each statement on a separate line. Warning
RCS1027 Format embedded statement on a separate line. Warning
RCS1028 Format switch section's statement on a separate line. Warning
RCS1029 Format binary operator on next line. Info
RCS1030 Add empty line after embedded statement. Warning
RCS1031 Remove redundant braces. Info
RCS1032 Remove redundant parentheses. Info
RCS1033 Remove redundant boolean literal. Info
RCS1034 Remove redundant 'sealed' modifier. Hidden
RCS1035 Remove redundant comma in initializer. Hidden
RCS1036 Remove redundant empty line. Info
RCS1037 Remove trailing white-space. Info
RCS1038 Remove empty statement. Info
RCS1039 Remove argument list from attribute. Hidden
RCS1040 Remove empty else clause. Hidden
RCS1041 Remove empty initializer. Info
RCS1042 Remove enum default underlying type. Hidden
RCS1043 Remove 'partial' modifier from type with a single part. Hidden
RCS1044 Remove original exception from throw statement. Info
RCS1045 Rename private field according to camel case with underscore. Warning
RCS1046 Asynchronous method name should end with 'Async'. Info
RCS1047 Non-asynchronous method name should not end with 'Async'. Info
RCS1048 Use lambda expression instead of anonymous method. Info
RCS1049 Simplify boolean comparison. Info
RCS1050 Add argument list to object creation expression. Info
RCS1051 Parenthesize condition in conditional expression. Info
RCS1052 Declare each attribute separately. Info
RCS1053 Replace foreach statement with for statement. Hidden
RCS1054 Merge local declaration with return statement. Hidden
RCS1055 Avoid semicolon at the end of declaration. Info
RCS1056 Avoid usage of using alias directive. Warning
RCS1057 Add empty line between declarations. Info
RCS1058 Use compound assignment. Info
RCS1059 Avoid locking on publicly accessible instance. Warning
RCS1060 Declare each type in separate file. Info
RCS1061 Merge if statement with nested if statement. Hidden
RCS1062 Avoid interpolated string with no interpolation. Hidden
RCS1063 Avoid usage of do statement to create an infinite loop. Info
RCS1064 Avoid usage of for statement to create an infinite loop. Info
RCS1065 Avoid usage of while statement to create an inifinite loop. Info
RCS1066 Remove empty finally clause. Hidden
RCS1067 Remove argument list from object creation expression. Info
RCS1068 Simplify logical negation. Info
RCS1069 Remove unnecessary case label. Hidden
RCS1070 Remove redundant default switch section. Hidden
RCS1071 Remove redundant base constructor call. Hidden
RCS1072 Remove empty namespace declaration. Info
RCS1073 Replace if statement with return statement. Hidden
RCS1074 Remove redundant constructor. Hidden
RCS1075 Avoid empty catch clause that catches System.Exception. Warning
RCS1076 Format declaration braces. Info
RCS1077 Simplify LINQ method chain. Info
RCS1078 Use "" instead of string.Empty. Info
RCS1079 Throwing of new NotImplementedException. Info
RCS1080 Use 'Count/Length' property instead of 'Any' method. Info
RCS1081 Split variable declaration. Warning
RCS1082 Use 'Count/Length' property instead of 'Count' method. Warning
RCS1083 Call 'Enumerable.Any' instead of 'Enumerable.Count'. Warning
RCS1084 Use coalesce expression instead of conditional expression. Info
RCS1085 Use auto-implemented property. Info
RCS1086 Use linefeed as newline. Warning
RCS1087 Use carriage return + linefeed as newline. Warning
RCS1088 Use space(s) instead of tab. Warning
RCS1089 Use --/++ operator instead of assignment. Info
RCS1090 Call 'ConfigureAwait(false)'. Info
RCS1091 Remove empty region. Hidden
RCS1092 Add empty line after last statement in do statement. Info
RCS1093 Remove file with no code. Info
RCS1094 Declare using directive on top level. Warning
RCS1095 Use C# 6.0 dictionary initializer. Info
RCS1096 Use bitwise operation instead of calling 'HasFlag'. Info
RCS1097 Remove redundant 'ToString' call. Info
RCS1098 Avoid 'null' on the left side of a binary expression. Info
RCS1099 Default label should be last label in switch section. Info
RCS1100 Format documentation summary on a single line. Info
RCS1101 Format documentation summary on multiple lines. Info
RCS1102 Make class static. Warning
RCS1103 Replace if statement with assignment. Info
RCS1104 Simplify conditional expression. Info
RCS1105 Merge interpolation into interpolated string. Info
RCS1106 Remove empty destructor. Info
RCS1107 Remove redundant 'ToCharArray' call. Info
RCS1108 Add 'static' modifier to all partial class declarations. Info
RCS1109 Call 'Enumerable.Cast' instead of 'Enumerable.Select'. Info
RCS1110 Declare type inside namespace. Warning
RCS1111 Add braces to switch section with multiple statements. Info
RCS1112 Combine 'Enumerable.Where' method chain. Info
RCS1113 Use 'string.IsNullOrEmpty' method. Info
RCS1114 Remove redundant delegate creation. Info
RCS1115 Replace yield/return statement with expression statement. Hidden
RCS1116 Add break statement to switch section. Hidden
RCS1117 Add return statement that returns default value. Hidden
RCS1118 Mark local variable as const. Info
RCS1119 Call 'Find' instead of 'FirstOrDefault'. Info
RCS1120 Use [] instead of calling 'ElementAt'. Info
RCS1121 Use [] instead of calling 'First'. Info
RCS1122 Add missing semicolon. Hidden
RCS1123 Add parentheses according to operator precedence. Info
RCS1124 Inline local variable. Hidden
RCS1125 Mark member as static. Hidden
RCS1126 Add braces to if-else. Info
RCS1127 Merge local declaration with assignment. Info
RCS1128 Use coalesce expression. Info
RCS1129 Remove redundant field initalization. Hidden
RCS1130 Bitwise operation on enum without Flags attribute. Info
RCS1131 Replace return with yield return. Hidden
RCS1132 Remove redundant overriding member. Info
RCS1133 Remove redundant Dispose/Close call. Hidden
RCS1134 Remove redundant statement. Hidden
RCS1135 Declare enum member with zero value (when enum has FlagsAttribute). Info
RCS1136 Merge switch sections with equivalent content. Hidden
RCS1137 Add documentation comment to publicly visible type or member. Hidden
RCS1138 Add summary to documentation comment. Warning
RCS1139 Add summary element to documentation comment. Warning
RCS1140 Add exception to documentation comment. Hidden
RCS1141 Add parameter to documentation comment. Info
RCS1142 Add type parameter to documentation comment. Info
RCS1143 Simplify coalesce expression. Hidden
RCS1144 Mark containing class as abstract. Hidden
RCS1145 Remove redundant 'as' operator. Hidden
RCS1146 Use conditional access. Info
RCS1147 Remove inapplicable modifier. Hidden
RCS1148 Remove unreachable code. Hidden
RCS1149 Remove implementation from abstract member. Hidden
RCS1150 Call string.Concat instead of string.Join. Info
RCS1151 Remove redundant cast. Hidden
RCS1152 Member type must match overriden member type. Hidden
RCS1153 Add empty line after closing brace. Info
RCS1154 Sort enum members. Info
RCS1155 Use StringComparison when comparing strings. Warning
RCS1156 Use string.Length instead of comparison with empty string. Info
RCS1157 Composite enum value contains undefined flag. Info
RCS1158 Static member in generic type should use a type parameter. Info
RCS1159 Use EventHandler<T>. Info
RCS1160 Abstract type should not have public constructors. Info
RCS1161 Enum member should declare explicit value. Hidden
RCS1162 Avoid chain of assignments. Info
RCS1163 Unused parameter. Info
RCS1164 Unused type parameter. Info
RCS1165 Unconstrained type parameter checked for null. Warning
RCS1166 Value type object is never equal to null. Info
RCS1167 Overriding member cannot change access modifiers. Hidden
RCS1168 Parameter name differs from base name. Warning
RCS1169 Mark field as read-only. Info
RCS1170 Use read-only auto-implemented property. Info
RCS1171 Simplify lazy initialization. Info
RCS1172 Use is operator instead of as operator. Warning
RCS1173 Use coalesce expression instead of if. Info
RCS1174 Remove redundant async/await. Info
RCS1175 Unused this parameter. Info
RCS1176 Use 'var' instead of explicit type (when the type is not obvious). Hidden
RCS1177 Use 'var' instead of explicit type (in foreach). Hidden
RCS1178 Call Debug.Fail instead of Debug.Assert. Info
RCS1179 Use return instead of assignment. Info
RCS1180 Inline lazy initialization. Info
RCS1181 Replace comment with documentation comment. Hidden
RCS1182 Remove redundant base interface. Info
RCS1183 Format initializer with single expression on single line. Hidden
RCS1184 Format conditional expression (format ? and : on next line). Info
RCS1185 Avoid single-line block. Info
RCS1186 Use Regex instance instead of static method. Hidden
RCS1187 Use constant instead of field. Info
RCS1188 Remove redundant auto-property initialization. Hidden
RCS1189 Add or remove region name. Hidden
RCS1190 Join string expressions. Info
RCS1191 Declare enum value as combination of names. Info
RCS1192 Use regular string literal instead of verbatim string literal. Info
RCS1193 Overriding member cannot change 'params' modifier. Warning
RCS1194 Implement exception constructors. Warning
RCS1195 Use ^ operator. Info
RCS1196 Call extension method as instance method. Info
RCS1197 Optimize StringBuilder.Append/AppendLine call. Info
RCS1198 Avoid unnecessary boxing of value type. Warning
RCS1199 Simplify boolean expression. Info
RCS1200 Call 'Enumerable.ThenBy' instead of 'Enumerable.OrderBy'. Info
RCS1201 Use method chaining. Hidden
RCS1202 Avoid NullReferenceException. Info
RCS1203 Use AttributeUsageAttribute. Warning
RCS1204 Use EventArgs.Empty. Info
RCS1205 Reorder named arguments according to the order of parameters. Info
RCS1206 Use conditional access instead of conditional expression. Info
RCS1207 Use method group instead of anonymous function. Hidden
RCS1208 Reduce if nesting. Info
RCS1209 Reorder type parameter constraints. Info
RCS1210 Return Task.FromResult instead of returning null. Warning
RCS1211 Remove unnecessary else clause. Hidden
RCS1212 Remove redundant assignment. Info
RCS1213 Remove unused member declaration. Info
RCS1214 Avoid interpolated string with no interpolated text. Info
RCS1215 Expression is always equal to true/false. Warning
RCS1216 Unnecessary unsafe context. Info