Analyzers

Id Title Default Severity Enabled by Default
RCS1001 Add braces. Info x
RCS1002 Remove braces. Hidden
RCS1003 Add braces to if-else. Info x
RCS1004 Remove braces from if-else. Hidden
RCS1005 Simplify nested using statement. Hidden x
RCS1006 Merge else clause with nested if statement. Hidden x
RCS1007 Avoid embedded statement. Warning
RCS1008 Use explicit type instead of 'var' (when the type is not obvious). Hidden x
RCS1009 Use explicit type instead of 'var' (foreach variable). Hidden x
RCS1010 Use 'var' instead of explicit type (when the type is obvious). Hidden x
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 x
RCS1016 Use expression-bodied member. Hidden
RCS1017 Avoid multiline expression body. Warning
RCS1018 Add default access modifier. Info x
RCS1019 Reorder modifiers. Info
RCS1020 Simplify Nullable<T> to T?. Info x
RCS1021 Simplify lambda expression. Info x
RCS1022 Simplify lambda expression parameter list. Hidden
RCS1023 Format empty block. Info x
RCS1024 Format accessor list. Info x
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 x
RCS1030 Add empty line after embedded statement. Warning
RCS1032 Remove redundant parentheses. Info x
RCS1033 Remove redundant boolean literal. Info x
RCS1034 Remove redundant sealed modifier. Hidden x
RCS1035 Remove redundant comma in initializer. Hidden x
RCS1036 Remove redundant empty line. Info x
RCS1037 Remove trailing white-space. Info x
RCS1038 Remove empty statement. Info x
RCS1039 Remove empty attribute argument list. Hidden x
RCS1040 Remove empty else clause. Hidden
RCS1041 Remove empty initializer. Info x
RCS1042 Remove enum default underlying type. Hidden x
RCS1043 Remove partial modifier from type with a single part. Hidden x
RCS1044 Remove original exception from throw statement. Info x
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 x
RCS1048 Use lambda expression instead of anonymous method. Info x
RCS1049 Simplify boolean comparison. Info x
RCS1050 Add constructor argument list. Warning
RCS1051 Parenthesize condition in conditional expression. Info
RCS1052 Declare each attribute separately. Info
RCS1054 Merge local declaration with return statement. Hidden x
RCS1055 Avoid semicolon at the end of declaration. Info x
RCS1056 Avoid usage of using alias directive. Warning
RCS1057 Add empty line between declarations. Info x
RCS1058 Use compound assignment. Info x
RCS1059 Avoid locking on publicly accessible instance. Warning x
RCS1060 Declare each type in separate file. Info
RCS1061 Merge if statement with nested if statement. Hidden x
RCS1062 Avoid interpolated string with no interpolation. Hidden x
RCS1063 Avoid usage of do statement to create an infinite loop. Info x
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 x
RCS1067 Remove empty argument list. Info
RCS1068 Simplify logical not expression. Warning x
RCS1069 Remove unnecessary case label. Hidden x
RCS1070 Remove redundant default switch section. Hidden x
RCS1071 Remove redundant base constructor call. Hidden x
RCS1072 Remove empty namespace declaration. Info x
RCS1073 Replace if statement with return statement. Hidden
RCS1074 Remove redundant constructor. Hidden x
RCS1075 Avoid empty catch clause that catches System.Exception. Warning x
RCS1076 Format declaration braces. Info x
RCS1077 Simplify LINQ method chain. Info x
RCS1078 Use "" instead of string.Empty. Info
RCS1079 Throwing of new NotImplementedException. Info x
RCS1080 Use 'Count/Length' property instead of 'Any' method. Info x
RCS1081 Split variable declaration. Warning
RCS1082 Use 'Count/Length' property instead of 'Count' method. Warning x
RCS1083 Use 'Any' method instead of 'Count' method. Warning x
RCS1084 Use coalesce expression instead of conditional expression. Info x
RCS1085 Use auto-implemented property. Info x
RCS1086 Use linefeed as newline. Warning
RCS1087 Use carriage return + linefeed as newline. Warning
RCS1088 Use space(s) instead of tab. Warning
RCS1089 Use postfix unary operator instead of assignment. Info x
RCS1090 Call 'ConfigureAwait(false)'. Info x
RCS1091 Remove empty region. Info x
RCS1092 Add empty line after last statement in do statement. Info
RCS1093 Remove file with no code. Info x
RCS1094 Declare using directive on top level. Warning
RCS1095 Use C# 6.0 dictionary initializer. Info x
RCS1096 Use bitwise operation instead of calling 'HasFlag'. Info x
RCS1097 Remove redundant 'ToString' call. Info x
RCS1098 Avoid 'null' on the left side of a binary expression. Info x
RCS1099 Default label should be last label in switch section. Info x
RCS1100 Format documentation summary on a single line. Info
RCS1101 Format documentation summary on multiple lines. Info
RCS1102 Mark class as static. Warning x
RCS1103 Replace if statement with assignment. Info x
RCS1104 Simplify conditional expression. Info x
RCS1105 Merge interpolation into interpolated string. Info x
RCS1106 Remove empty destructor. Info x
RCS1107 Remove redundant 'ToCharArray' call. Info x
RCS1108 Add static modifier to all partial class declarations. Info x
RCS1109 Use 'Cast' method instead of 'Select' method. Info x
RCS1110 Declare type inside namespace. Warning x
RCS1111 Add braces to switch section with multiple statements. Info
RCS1112 Combine 'Enumerable.Where' method chain. Info x
RCS1113 Use 'string.IsNullOrEmpty' method. Info x
RCS1114 Remove redundant delegate creation. Info x
RCS1115 Replace yield/return statement with expression statement. Hidden x
RCS1116 Add break statement to switch section. Hidden x
RCS1117 Add return statement that returns default value. Hidden x
RCS1118 Mark local variable as const. Info x
RCS1119 Call 'Find' method instead of 'FirstOrDefault' method. Info x
RCS1120 Use [] instead of calling 'ElementAt'. Info x
RCS1121 Use [] instead of calling 'First'. Info x
RCS1122 Add missing semicolon. Hidden
RCS1123 Add parentheses according to operator precedence. Info x
RCS1124 Inline local variable. Hidden x
RCS1125 Mark member as static. Hidden x
RCS1126 Avoid embedded statement in if-else. Info
RCS1127 Merge local declaration with assignment. Info x
RCS1128 Use coalesce expression. Info x
RCS1129 Remove redundant field initalization. Hidden x
RCS1130 Bitwise operation on enum without Flags attribute. Info x
RCS1131 Replace return with yield return. Hidden x
RCS1132 Remove redundant overriding member. Info x
RCS1133 Remove redundant Dispose/Close call. Hidden x
RCS1134 Remove redundant continue statement. Hidden x
RCS1135 Declare enum member with zero value (when enum has FlagsAttribute). Info x
RCS1136 Merge switch sections with equivalent content. Hidden x
RCS1137 Add documentation comment to publicly visible type or member. Hidden x
RCS1138 Add summary to documentation comment. Warning x
RCS1139 Add summary element to documentation comment. Warning x
RCS1140 Add exception to documentation comment. Hidden x
RCS1141 Add parameter to documentation comment. Info x
RCS1142 Add type parameter to documentation comment. Info x
RCS1143 Simplify coalesce expression. Hidden x
RCS1144 Mark containing class as abstract. Hidden x
RCS1145 Remove redundant 'as' operator. Hidden x
RCS1146 Use conditional access. Info x
RCS1147 Remove inapplicable modifier. Hidden x
RCS1148 Remove unreachable code. Hidden x
RCS1149 Remove implementation from abstract member. Hidden x
RCS1150 Call string.Concat instead of string.Join. Info x
RCS1151 Remove redundant cast. Hidden x
RCS1152 Member type must match overriden member type. Hidden x
RCS1153 Add empty line after closing brace. Info
RCS1154 Sort enum members. Info x
RCS1155 Use StringComparison when comparing strings. Warning x
RCS1156 Use string.Length instead of comparison with empty string. Info x
RCS1157 Composite enum value contains undefined flag. Warning x
RCS1158 Static member in generic type should use a type parameter. Info x
RCS1159 Use EventHandler<T>. Info x
RCS1160 Abstract type should not have public constructors. Info x
RCS1161 Enum member should declare explicit value. Hidden x
RCS1162 Avoid chain of assignments. Info
RCS1163 Unused parameter. Info x
RCS1164 Unused type parameter. Info x
RCS1165 Unconstrained type parameter checked for null. Warning x
RCS1166 Value type checked for null. Info x
RCS1167 Overriding member cannot change access modifiers. Hidden x
RCS1168 Parameter name differs from base name. Warning x
RCS1169 Mark field as read-only. Info x
RCS1170 Use read-only auto-implemented property. Info x
RCS1171 Simplify lazily initialized property. Info x
RCS1172 Use is operator instead of as operator. Warning x
RCS1173 Use coalesce expression instead of if. Info x
RCS1174 Remove redundant async/await. Info x
RCS1175 Unused this parameter. Info x
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 x
RCS1179 Use return instead of assignment. Info x
RCS1180 Inline lazy initialization. Info x
RCS1181 Replace comment with documentation comment. Hidden x
RCS1182 Remove redundant base interface. Info x
RCS1183 Format initializer with single expression on single line. Hidden x
RCS1184 Format conditional expression (format ? and : on next line). Info
RCS1185 Avoid single-line block. Info