Optimize query

dnks

New member
Joined
Mar 14, 2020
Messages
4
Programming Experience
3-5
Can some one optimize below query
C#:
public string FindString(long findnumber)
{
    var numbers = Enumerable.Range(1, 10);
    var data = numbers.Select(number => new { number = number});
    var val = data.FirstOrDefault(d => d.number == findnumber);
    return val.ToString();
}
 
Last edited by a moderator:
An obfuscated way to get the string without searching...

C#:
public string FindStringEquivalent(long numberToFind)
{
    checked
    {
        return GetDigits((int) numberToFind)
            .Reverse()
            .Aggregate("", (s, d) => s += d);
    }
   
    IEnumerable<char> GetDigits(int n)
    {
        if (n == 0)
            yield return '0';

        bool negative = n < 0;
        if (negative)
            n *= -1;

        while(n != 0)
        {
            yield return (char)((n % 10) + '0');
            n /= 10;
        }

        if (negative)
            yield return '-';
    }
}
 
Back
Top Bottom