@@ -107,8 +107,8 @@ public static void PlaceFormat(QRCodeData qrCode, BitArray formatStr, bool offse
107
107
/// <returns>The index of the selected mask pattern.</returns>
108
108
public static int MaskCode ( QRCodeData qrCode , int version , BlockedModules blockedModules , ECCLevel eccLevel )
109
109
{
110
- int ? selectedPattern = null ;
111
- var patternScore = 0 ;
110
+ int selectedPattern = - 1 ; // no pattern selected yet
111
+ var patternScore = int . MaxValue ; // lower score is better
112
112
113
113
var size = qrCode . ModuleMatrix . Count - 8 ;
114
114
@@ -165,15 +165,15 @@ public static int MaskCode(QRCodeData qrCode, int version, BlockedModules blocke
165
165
var score = MaskPattern . Score ( qrTemp ) ;
166
166
167
167
// Select the pattern with the lowest score, indicating better QR code readability.
168
- if ( ! selectedPattern . HasValue || patternScore > score )
168
+ if ( patternScore > score )
169
169
{
170
170
selectedPattern = maskPattern ;
171
171
patternScore = score ;
172
172
}
173
173
}
174
174
175
175
// Apply the best mask pattern to the actual QR code.
176
- var selectedPatternFunc = MaskPattern . Patterns [ selectedPattern . Value ] ;
176
+ var selectedPatternFunc = MaskPattern . Patterns [ selectedPattern ] ;
177
177
for ( var x = 0 ; x < size ; x ++ )
178
178
{
179
179
for ( var y = 0 ; y < x ; y ++ )
@@ -191,7 +191,7 @@ public static int MaskCode(QRCodeData qrCode, int version, BlockedModules blocke
191
191
}
192
192
}
193
193
194
- return selectedPattern . Value ;
194
+ return selectedPattern ;
195
195
}
196
196
197
197
/// <summary>
0 commit comments