2017-02-21 13 views

Antwort

1

Sie können einen Versuch mit diesem machen:

List<int> inputNumbers = new List<int>(){156, 14, 28,34}; 
int givenNumber = 4; 
var numbers = inputNumbers.Where(x=> 
           x.ToString().Contains(givenNumber.ToString()) 
           ).ToList(); 

Ausgang wird 14 und 34 sein, ist hier ein working Example für Sie

1
var lst = new[] {156, 14, 28,34}; 
var contains4 = lst.Where(c=>c.ToString().Contains("4")); 

Ausgang:

0

versuchen diese

int[] a={156, 14, 28,34}; 
int count = 0; 
foreach (int t in a) 
{ 
    if (t.ToString().Contains('4') == true) 
    { 
    Console.WriteLine(t); 
    } 
} 
2

Alles, was Sie brauchen, ist ein einfaches Linq ist: sind

string source = "156, 14, 28,34"; 

// 2 since there're two numbers - 14, 34 which contain 4 
int result = source 
    .Split(',') 
    .Count(number => number.Contains('4')); 

Wenn Sie ein Array int[] gegeben:

int[] source = new[] {156, 14, 28, 34}; 

// 2 since there're two numbers - 14, 34 which contain 4 
int result = source 
    .Count(number => number.ToString().Contains('4')); 
1

Strings langsam sind.

Diese Methode gibt True zurück, wenn numberdigit enthält.

private static bool ContainsDigit(int number, int digit) 
{ 
    if (number == 0 && digit == 0) 
    { 
     return true; 
    } 

    for (var value = number; value > 0; value /= 10) 
    { 
     if (value % 10 == digit) 
     { 
      return true; 
     } 
    } 

    return false; 
} 

ist wie diese

var values = new []{156, 14, 28, 34, 0}; 

foreach (var value in values) 
{ 
    if (ContainsDigit(value, 4)) 
    { 
     Console.Write($"{value} "); 
    } 
} 

Console.WriteLine(); 

verwendet, die das Ergebnis

Ihre spezifischen Anwendungsfall wird diktieren, druckt, die am besten für Sie

arbeitet
Verwandte Themen