@@ -184,217 +184,19 @@ public static bool Compare(byte* arr, byte[] with, int len)
184
184
}
185
185
186
186
[ MethImpl ( AggressiveInlining ) ]
187
- public static bool Contains ( bool * arr , int length , bool val )
187
+ public static bool Contains < T > ( T * arr , int length , T val ) where T : unmanaged
188
188
{
189
189
for ( int i = 0 ; i < length ; i ++ )
190
- if ( arr [ i ] == val )
190
+ if ( arr [ i ] . Equals ( val ) )
191
191
return true ;
192
192
return false ;
193
193
}
194
194
195
195
[ MethImpl ( AggressiveInlining ) ]
196
- public static bool Contains ( byte * arr , int length , byte val )
196
+ public static int IndexOf < T > ( T * arr , int length , T val ) where T : unmanaged
197
197
{
198
198
for ( int i = 0 ; i < length ; i ++ )
199
- if ( arr [ i ] == val )
200
- return true ;
201
- return false ;
202
- }
203
-
204
- [ MethImpl ( AggressiveInlining ) ]
205
- public static bool Contains ( sbyte * arr , int length , sbyte val )
206
- {
207
- for ( int i = 0 ; i < length ; i ++ )
208
- if ( arr [ i ] == val )
209
- return true ;
210
- return false ;
211
- }
212
-
213
- [ MethImpl ( AggressiveInlining ) ]
214
- public static bool Contains ( char * arr , int length , char val )
215
- {
216
- for ( int i = 0 ; i < length ; i ++ )
217
- if ( arr [ i ] == val )
218
- return true ;
219
- return false ;
220
- }
221
-
222
- [ MethImpl ( AggressiveInlining ) ]
223
- public static bool Contains ( short * arr , int length , short val )
224
- {
225
- for ( int i = 0 ; i < length ; i ++ )
226
- if ( arr [ i ] == val )
227
- return true ;
228
- return false ;
229
- }
230
-
231
- [ MethImpl ( AggressiveInlining ) ]
232
- public static bool Contains ( ushort * arr , int length , ushort val )
233
- {
234
- for ( int i = 0 ; i < length ; i ++ )
235
- if ( arr [ i ] == val )
236
- return true ;
237
- return false ;
238
- }
239
-
240
- [ MethImpl ( AggressiveInlining ) ]
241
- public static bool Contains ( int * arr , int length , int val )
242
- {
243
- for ( int i = 0 ; i < length ; i ++ )
244
- if ( arr [ i ] == val )
245
- return true ;
246
- return false ;
247
- }
248
-
249
- [ MethImpl ( AggressiveInlining ) ]
250
- public static bool Contains ( uint * arr , int length , uint val )
251
- {
252
- for ( int i = 0 ; i < length ; i ++ )
253
- if ( arr [ i ] == val )
254
- return true ;
255
- return false ;
256
- }
257
-
258
- [ MethImpl ( AggressiveInlining ) ]
259
- public static bool Contains ( long * arr , int length , long val )
260
- {
261
- for ( int i = 0 ; i < length ; i ++ )
262
- if ( arr [ i ] == val )
263
- return true ;
264
- return false ;
265
- }
266
-
267
- [ MethImpl ( AggressiveInlining ) ]
268
- public static bool Contains ( ulong * arr , int length , ulong val )
269
- {
270
- for ( int i = 0 ; i < length ; i ++ )
271
- if ( arr [ i ] == val )
272
- return true ;
273
- return false ;
274
- }
275
-
276
- [ MethImpl ( AggressiveInlining ) ]
277
- public static bool Contains ( float * arr , int length , float val )
278
- {
279
- for ( int i = 0 ; i < length ; i ++ )
280
- if ( arr [ i ] == val )
281
- return true ;
282
- return false ;
283
- }
284
-
285
- [ MethImpl ( AggressiveInlining ) ]
286
- public static bool Contains ( double * arr , int length , double val )
287
- {
288
- for ( int i = 0 ; i < length ; i ++ )
289
- if ( arr [ i ] == val )
290
- return true ;
291
- return false ;
292
- }
293
-
294
- [ MethImpl ( AggressiveInlining ) ]
295
- public static int IndexOf ( bool * arr , int length , bool val )
296
- {
297
- for ( int i = 0 ; i < length ; i ++ )
298
- if ( arr [ i ] == val )
299
- return i ;
300
- return - 1 ;
301
- }
302
-
303
- [ MethImpl ( AggressiveInlining ) ]
304
- public static int IndexOf ( byte * arr , int length , byte val )
305
- {
306
- for ( int i = 0 ; i < length ; i ++ )
307
- if ( arr [ i ] == val )
308
- return i ;
309
- return - 1 ;
310
- }
311
-
312
- [ MethImpl ( AggressiveInlining ) ]
313
- public static int IndexOf ( sbyte * arr , int length , sbyte val )
314
- {
315
- for ( int i = 0 ; i < length ; i ++ )
316
- if ( arr [ i ] == val )
317
- return i ;
318
- return - 1 ;
319
- }
320
-
321
- [ MethImpl ( AggressiveInlining ) ]
322
- public static int IndexOf ( char * arr , int length , char val )
323
- {
324
- for ( int i = 0 ; i < length ; i ++ )
325
- if ( arr [ i ] == val )
326
- return i ;
327
- return - 1 ;
328
- }
329
-
330
- [ MethImpl ( AggressiveInlining ) ]
331
- public static int IndexOf ( short * arr , int length , short val )
332
- {
333
- for ( int i = 0 ; i < length ; i ++ )
334
- if ( arr [ i ] == val )
335
- return i ;
336
- return - 1 ;
337
- }
338
-
339
- [ MethImpl ( AggressiveInlining ) ]
340
- public static int IndexOf ( ushort * arr , int length , ushort val )
341
- {
342
- for ( int i = 0 ; i < length ; i ++ )
343
- if ( arr [ i ] == val )
344
- return i ;
345
- return - 1 ;
346
- }
347
-
348
- [ MethImpl ( AggressiveInlining ) ]
349
- public static int IndexOf ( int * arr , int length , int val )
350
- {
351
- for ( int i = 0 ; i < length ; i ++ )
352
- if ( arr [ i ] == val )
353
- return i ;
354
- return - 1 ;
355
- }
356
-
357
- [ MethImpl ( AggressiveInlining ) ]
358
- public static int IndexOf ( uint * arr , int length , uint val )
359
- {
360
- for ( int i = 0 ; i < length ; i ++ )
361
- if ( arr [ i ] == val )
362
- return i ;
363
- return - 1 ;
364
- }
365
-
366
- [ MethImpl ( AggressiveInlining ) ]
367
- public static int IndexOf ( long * arr , int length , long val )
368
- {
369
- for ( int i = 0 ; i < length ; i ++ )
370
- if ( arr [ i ] == val )
371
- return i ;
372
- return - 1 ;
373
- }
374
-
375
- [ MethImpl ( AggressiveInlining ) ]
376
- public static int IndexOf ( ulong * arr , int length , ulong val )
377
- {
378
- for ( int i = 0 ; i < length ; i ++ )
379
- if ( arr [ i ] == val )
380
- return i ;
381
- return - 1 ;
382
- }
383
-
384
- [ MethImpl ( AggressiveInlining ) ]
385
- public static int IndexOf ( float * arr , int length , float val )
386
- {
387
- for ( int i = 0 ; i < length ; i ++ )
388
- if ( arr [ i ] == val )
389
- return i ;
390
- return - 1 ;
391
- }
392
-
393
- [ MethImpl ( AggressiveInlining ) ]
394
- public static int IndexOf ( double * arr , int length , double val )
395
- {
396
- for ( int i = 0 ; i < length ; i ++ )
397
- if ( arr [ i ] == val )
199
+ if ( arr [ i ] . Equals ( val ) )
398
200
return i ;
399
201
return - 1 ;
400
202
}
0 commit comments