Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > C# & ASP.NET
  Aktif Konular Aktif Konular RSS: c# başlangıç seviye,static konusu
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

c# başlangıç seviye,static konusu

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj Tersinden sırala
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: c# başlangıç seviye,static konusu
    Gönderim Zamanı: 30.Mart.2011 Saat 15:45
fatih kargon geriye geldi, verdiğin adres bulunamamış.
 
return bulunduğu satırdan sonraki blokları çalışmaz kılıyor ! haliyle en sondaki fout.close'a hata sonrası gelinemeyeceği için (return; den dolayı) istisna fırlatmıyor.
Yukarı Dön
fatdem Açılır Menü Göster
Newbie
Newbie


Kayıt Tarihi: 07.Mart.2011
Online: Sitede Değil
Gönderilenler: 6
  Alıntı fatdem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 26.Mart.2011 Saat 23:32
Murat Hocam,
senin dedğin gibi yaptım da. catch bloğu içindeki return u kaldırırsam veriyor "fout nesnesi tanımlanmamış yerel değişken" hatasını.
yani catch te return kullanmazsam ve senin dediğin gibi de "ya dosya yaratılmazsa" catch çalışıp istisna vereceği ve catch sonunda return olmadğı için, catch bloğundan sonra nesneyi fout.close(); ile kapamayamı çalışıyor?

istisnaları çalışırken anladğım catch ten sonra program hata msj verip sonlanıyor, o yüzden kafam karıştı fout.close(); ile catch bloğundaki return un alakası ne die.
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 26.Mart.2011 Saat 10:57
tertip merhaba. sen return; ibaresini kaldırdığında ve direkt fout.Close  yaptığında şöyle bir duum oluyor.
 
ya fout nesnesi try bloğu arasında yaratılamazsa? sen yaratılmamış bir nesneyi nasıl Close yapacaksın abi. bu blokta bu durumda istisna fırlatacak. return; ile işlemi sonlandırdığında o bloğa gitmeyeceğinden sorun olmuyor. ama try bloğundan return'u kaldırırsan kodu aşağıdaki gibi dğeiştir abi.
 

            string rpath = @"D:\test.txt";
            FileStream fout = null;
            try
            {
                fout = new FileStream(rpath, FileMode.OpenOrCreate);
            }
            catch (IOException exc)
            {
                Console.WriteLine(exc.Message + "okunamadı");
                Console.ReadKey();
                return;
            }

            try
            {
                fout.WriteByte((byte)'p');
            }
            catch (IOException exc) { Console.WriteLine(exc.Message + "hata"); }
            if (fout != null)
                fout.Close();
            Console.ReadKey();
 
 
*** bu arada kargonu dün teslim ettim.


Düzenleyen murat turan - 26.Mart.2011 Saat 10:58
Yukarı Dön
fatdem Açılır Menü Göster
Newbie
Newbie


Kayıt Tarihi: 07.Mart.2011
Online: Sitede Değil
Gönderilenler: 6
  Alıntı fatdem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 22.Mart.2011 Saat 19:15
catch ifadesi içindeki return kaldırınca fout için tanımlanmamış yerel değişken hatası veriyor?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            string rpath = @"D:\test.txt";
            FileStream fout;
            try
            {
                fout = new FileStream(rpath, FileMode.OpenOrCreate);
            }
            catch (IOException exc)
            {
                Console.WriteLine(exc.Message + "okunamadı");
                Console.ReadKey();
                return;
            }

            try
            {
                fout.WriteByte((byte)'p');
            }
            catch (IOException exc) { Console.WriteLine(exc.Message + "hata"); }
            //fout.Close();
            Console.ReadKey();
        }
    }
}
Yukarı Dön
fatdem Açılır Menü Göster
Newbie
Newbie


Kayıt Tarihi: 07.Mart.2011
Online: Sitede Değil
Gönderilenler: 6
  Alıntı fatdem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 08.Mart.2011 Saat 22:20
saolsın Murat Hocam. ellerine sağlık. çalışmaya devam:)
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 08.Mart.2011 Saat 17:06
Merhaba Fatih,
 
static 'in kullanım amacı tüm formlardan/sınıflardan tek bir noktadaki değişkeni yönetmek veya çok sıklıkla kullanacağın bir prosedür veya fonsiyona daha hızlı erişmek. mesela;
 
sisteme login olmuş bir kullanıcının kullanıcı ID sini tutan bir değişkeni Static tanımlayabilirsini. Bu sana ne sağlar?
 
her formdan bu değere erişebilirsin. Bu değere erişerek, online kullanıcının belki sayfa girişinde yetkilerini kontrol ettirmek isteyebilirsin.
 
veya logyazan bir prosedürün olsun. her hata oluştuğunda disk'e log yazmak istiyorsun. bu tür bir prosedür 'ü de static olarak tanımlayabilirsin. veya bir ibareyi şifreleyeceksin. bu tür bir fonksiyonu da static tanımlayabilirsin.
 
mesela web programlamada sisteme login olan kullanıcının bilgileri genelde session nesnesiyle saklanır. Windows formlarda ise bu tür işler için static kullanılabilir.
Yukarı Dön
fatdem Açılır Menü Göster
Newbie
Newbie


Kayıt Tarihi: 07.Mart.2011
Online: Sitede Değil
Gönderilenler: 6
  Alıntı fatdem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 08.Mart.2011 Saat 03:31
bütün elemeanları ve kendisi static olan bir sınıfın static yapıcı kullanması için bir sebep varmıdır? örneklendirebilirmisiniz?
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,320 Saniyede Yüklendi. [power by : WebWiz]