Dodanie metody do klasy string

0

Witam, jestem początkujący w programowaniu c#.

Mam zapewne dość łatwe pytanie:

Jak dodać metodę do klasy już wbudowanej "String"?

bool czyJestLiczba(string str) {
          for (char ch: str)
              if(!isdigit(ch)) return false;
          return true;
}

Chciałbym dodać abym mógł w całym programie korzystać z tej metody

1

Chodzi o coś takiego: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods?
Nie programuje w C# ale wszedzie nazywa to się tak samo :D

0

Czy o takie coś ci chodziło ?

using System;
using MyExtensions;

namespace ConsoleApp50
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "23410";
            string str2 = "234c10";

            Console.WriteLine(str1.czyJestLiczbaNaturalna());
            Console.WriteLine(str2.czyJestLiczbaNaturalna());
        }
    }
}
namespace MyExtensions
    {

    public static class ExString
    {
        public static bool czyJestLiczbaNaturalna(this string str)
        {
            for (int i = 0; i < str.Length; i++)

                if (!char.IsDigit(str[i])) return false;

            return true;
        }
    }
} 

0

A poza tym ta metoda jest niepoprawna bo 12.12 nie spełnia warunku a jest liczbą. Tak samo z -2, 12E10 itp.

0

Chodzi ci o to czy dany string jest ogólnie liczbą w postaci w postaci np. +/- xxxx.yyyy , . czy liczbą typu int, double itd ?
Jeśli chodzi ci o taką liczbą w postaci +/- xxxx.yyyy. To tylko trochę więcej pisania jest.
Jeśli chodzi ci o liczbę określonego typu to są gotowe metody np. int.TryParse(). itd.

Zdefiniuj jak ma wyglądać model twojej liczby a ja ci wtedy napiszę jakiś program.
Jeszcze jedno . Z tym zapisem wykładniczym to trochę przegiąłeś .

1

Jeszcze jedno . Pisanie takiej metody wydaje mi się bezcelowe i bezsensu. Gdyby taka metoda mogła się do czegoś przydać to już dawno znajdowałby się w bibliotekach NET Masz gotowe metody Parse i TryParse i to ci powinno wystarczyć.
Jak ci się nudzi to możesz sprawdzić jak zostały napisane . Zdasz sobie wtedy sprawę jak skomplikowany to jest proces !

1

jak chcesz po prostu sprawdzic czy napis sklada sie wylacznie z cyfr to zamiast tworzyc wtfy to lepiej np:

str.All(isdigit)
1

Jeśli już to str1.All(char.IsDigit)
i nie zapomnij zaimportować przestrzeni nazw System.Linq

1 użytkowników online, w tym zalogowanych: 0, gości: 1