Stránka 1 z 1

funkce v C#

Napsal: 11 zář 2009 17:51
od mr.M
Zdravíčko potřeboval bych zjistit název funkce, která by fungovala následovně

Kód: Vybrat vše

b=zjisti_typ_proměné (a);


..proste funkce ktera vraci typ (int,string,atp.)existuje něco takového ? :?

Re: funkce v C#

Napsal: 11 zář 2009 18:27
od melior

Re: funkce v C#

Napsal: 11 zář 2009 20:05
od mr.M
Díky, zkousel ale takhle me to nenapdlo se ho zeptat... :? ... ehm ja tak na to koukam... stejnak to nepobiram mohl by jsi mi prosim vysvetlit jak to funguje? :blush:

edit: nebo spis jinak :

ja potrebuju ze pokud bude zadan jiny znak nez cislo tak to bude chtit opet cislo... :lookround:

Re: funkce v C#

Napsal: 12 zář 2009 09:55
od Scarabeus
pokud dobre chápu potrebujes aby pri zadaní jine nez ciselne hodnoty se zadany znak(y) vymazaly a popripade zobrazila zprava ze se musi zadat cislo?

Re: funkce v C#

Napsal: 12 zář 2009 11:10
od mr.M
ano presne tak :-) , mozna jeste nutno dodat ze je to konzolová app

Re: funkce v C#

Napsal: 12 zář 2009 20:16
od Scarabeus
zkus tohle:

Kód: Vybrat vše

try
{
vlastni prikazy;
}
catch
{
pole.Text=null;
MessageBox.Show("Zadej číselnou hodnotu!");
}

Re: funkce v C#

Napsal: 12 zář 2009 21:16
od mr.M
todle je pro GUI ja delam v konzoli :-( zkousel jsem to prekopat po svem

Kód: Vybrat vše

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b, c;
            a = 1;
            b = 0;
            c = 0;

            string s=("");
           
            s = ("konej");
            try
            {
                Console.WriteLine("Zadejte počet pípnutí: ");
                b = Console.ReadLine();
            }
            catch
            {
                b = null;
                Console.WriteLine("zadej ciselnou hodnotu");
            }


ale zkoncilo to na

Kód: Vybrat vše

Error   1   Cannot implicitly convert type 'string' to 'int'   C:\Users\Michal\Desktop\Linux & programing\C#\pipani.cs   23   21   ConsoleApplication1
Error   2   Cannot convert null to 'int' because it is a non-nullable value type   C:\Users\Michal\Desktop\Linux & programing\C#\pipani.cs   27   21   ConsoleApplication1




:idea: :idea: :idea:

Re: funkce v C#

Napsal: 13 zář 2009 15:42
od melior
ale no fuj :-) zacal bych tim, ze si zjistim jakou vraci funkce ReadLine hodnotu... pockej, ze by string? co tahle funkce na prevod strinku na cislo?
http://msdn.microsoft.com/en-us/library/bb397679.aspx

kdyz uz budes v tom, tak cela "C# programming guide" je tu:
http://msdn.microsoft.com/en-us/library/67ef8sbd.aspx

to jen kdybys potreboval nahlednout na specifikaci nektere metody ;-)

Re: funkce v C#

Napsal: 13 zář 2009 16:02
od mr.M
ale to stále nevysvětluje to jak zjistím že je to písmeno a ne číslo... nebo jsem z toho už uplne blbej :-D

Re: funkce v C#

Napsal: 13 zář 2009 16:17
od melior
kdyz si rozkliknes na odkazu co sem poslal nekterou funkci (jednu z nich si vyber) tak tam mas i priklad pouziti. Pokud neni vstupni hodnota cislo, tak dostanes vyjimku.

Nejjednodussi bude kdyz si udelas funkci ConvertStringToInt(), ktera bude obalovat celou funkcionalitu vcetne vyjimek.

Priklad (pozor, jsou tam tri! jeden pro Visual Basic, druhy pro C#, treti pro C++ !!):
http://msdn.microsoft.com/en-us/library/basyfs27.aspx

prakticky to funguje tak, ze si vytvoris metodu ConvertStringToInt16, ktera bude mit jeden povinny parametr, a to vstupni hodnotu, a druhy nepovinny, a to vystupni format (napr. zaokhrouhleni, resp. pocet zobrazenych mist apod.). Tobe pro zacatek staci pouze ten vstup.

podle vzoru akorat nahradis Console.WriteLine na konci metody ConvertStringToInt16 za navratovou hodnotu.

v programu potom budes pouzivat zhruba!! toto:
string vstup = "";
int vystup = 0;

vstup = Console.ReadLine();
vystup = ConvertStringToInt16(vstup);

rikam zhruba. finalni kod se v C# bude lisit nehlede na to ze by nebylo spatne zauvazovat o necem jinem nez C#. pokud nepotrebujes vyuzivat nativni Windowsovske nebo .NETove knihovny, obycejne C/C++ by Ti na konzolovou aplikaci bohate stacilo.

Re: funkce v C#

Napsal: 13 zář 2009 16:24
od mr.M
ok zkusím C# používám protože se ho učíme ve škole :-(