Ich muss bestimmte Zahl in Zahlen finden. Zum Beispiel habe ich die folgenden ZahlenFinden Sie eine bestimmte Ziffer in der Nummer
156, 14, 28,34
Und ich brauche, um herauszufinden, wie viele Zahlen haben Ziffer 4
.
Ich muss bestimmte Zahl in Zahlen finden. Zum Beispiel habe ich die folgenden ZahlenFinden Sie eine bestimmte Ziffer in der Nummer
156, 14, 28,34
Und ich brauche, um herauszufinden, wie viele Zahlen haben Ziffer 4
.
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
var lst = new[] {156, 14, 28,34};
var contains4 = lst.Where(c=>c.ToString().Contains("4"));
Ausgang:
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);
}
}
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'));
Strings langsam sind.
Diese Methode gibt True zurück, wenn number
digit
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