19 Temmuz 2013 Cuma

C# Veri Tipleri

C# Veri Tipleri

C#' ta veri tipleri Değer Tipleri ve Referans Tipleri olmak üzere iki kategori altında toplanır.

DEĞER TİPLERİ
C#' ta sbyte, byte, short, ushort, int, uint, long, ulong, float, double, decimal, bool ve char olmak üzere 13 adet veri tipi bulunmaktadır. Bu veri tiplerini dört rupta toplayabiliriz.

1. Tamsayı Veri Tipi
Bir insanınyaşı ile ilgili kayıt tutmak istiyorsak bu yaş aralığı 0 ile 120 arası olabilir. Bu durumda uygun olan veri tipi "byte" olarak görülmektedir. Örnek; byte yas = 20; Tamsayı veri tipleri aşağıdaki tabloda listelenmiştir.



2. Kayan Noktalı Sayı Veri Tipi
Bunlara gerçek sayılar da denilmektedir. Bunlardan "float" ve "double" veri tipleri noktadan sonraki sayıları yaklaşık olarak tutarken "decimal" veri tipi tam bir kesinlikle tutar. Paraal işlemlerde "decimal" veri tipi kullanılır.

3. Karakter(char) Veri Tipi
Klavyeden girilen her bir değere karakter denir. Bu değerler "char" veri tipinde tutulur. Bu veri tipi değişkende tek tırnak içinde tutulur. char Karakter = 'A';

4. Doğru/Yanlış(true/false) Veri Tipi
Evet/Hayır şeklinde sonuç verecek verilerde "bool" veri tipi kullanılır. bool degisken = true;

REFERANS TİPLERİ
Referans tipleri sınıflarla tanımlanır. Bunlardan en sık kullanılan "string" veri tipidir.
Share:

18 Temmuz 2013 Perşembe

C# nokta virgül problemi

C# ". , " nokta virgül ayarlarını program için özel olarak ayarlamak için formun load olayı içerisinde

---------------------------------------------------------------------------------------------------------------
using System.Globalization;
---------------------------------------------------------------------------------------------------------------
Thread.CurrentThread.CurrentCulture =  new CultureInfo("tr-TR");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("tr-TR");
---------------------------------------------------------------------------------------------------------------


Veya 

---------------------------------------------------------------------------------------------------------------
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
---------------------------------------------------------------------------------------------------------------


Yazmanız yeterli.

Ayrıca sadece belirli bir ayarı set etmek istiyorsanız aşağıdaki gibi kullanabilirsiniz.


---------------------------------------------------------------------------------------------------------------
Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("tr-TR");
    
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator= ".";
---------------------------------------------------------------------------------------------------------------

Share:

1 Temmuz 2013 Pazartesi

Visual Studio 64 Bit Client Problemi

Microsoft Visual Studi 32 Bit developer makinesinde derlenen bir uygulamanın 64 Bit client da çalışabilmesi için yapılması gerekenler :













Evet Visual Studio kısmında yapılması gereken ayarlar bu kadar. Oracle 10g 64 Bit Client yazılım yüklemesini bir sonraki makalemde anlatacağım. 






Share:

22 Haziran 2013 Cumartesi

Access Modifiers (Erişim Belirleyiciler)

Access Modifiers (Erişim Belirleyiciler)

PRIVATE: Private belirleyicisinin kullanıldığı metot ya da parametreye sadece tanımlandığı sınıf içerisinden erişilebilir. Sınıflar varsayılan olarak private olarak tanımlanır.

PUBLIC: Public belirleyicisinin kullandığı metot ya da parametreye erişim tamamen serbesttir. Gerek tanımlandığı sınıf içerisinden gerekse tanımlandığı sınıf dışından erişmek mümkündür.

PROTECTED: Protected belirleyicisinin kullanıldığı metot ya da parametreye, sadece tanımlandığı sınıf içerisinden veya bu sınıftan türetilmiş sınıflardan erişilebilir.

STATIC: Eğer metoda direkt olarak sınıfın ismini kullanarak erişmek istersek metodu static olarak tanımlamamız gerekir. static olarak tanımlanan metotlar, sınıflardan türetilen nesnelerden bağımsız hareket ederler. Dolasıyı ile static metotları içerisinde tanımlandıkları class' dan yeni bir nesne oluşturmadan direkt olarak sınıf ismi.metot ismi şeklinde kullanabiliriz.

INTERNAL: Internal belirleyicisinin kullanıldığı metot ya da parametreye sadece tanımlandığı sınıf içerisinden erişilebilir. Hazırladığınız dll dosyasını aynı proje yada program içerisinde kullanabilir, ancak başka proje ya da programdan erişemezsiniz.

PROTECTED INTERNAL: Protected Internal belirleyicisinin kullanıldığı metot ya da parametreye tanımlandığı sınıf içerisinden, bu sınıftan türetilmiş başka bir sınıf içerisinden ya da aynı assembly içerisinden erişilebilir.

Share:

C# is ve as Operatörleri

C# is ve as Operatörleri

is operatörü : Bir değişkenin tipinin dönüşüm yapmak istediğimiz tiple is ile karşılaştırarak çevrimin doğru olup olmayacağını karşılaştırabiliriz. Yani is ile boolean bir değer elde edilir. is anahtar sözcüğü  değişken tipinin karşılaştırma tipine bakarak bize o mu değil mi bilgisini vererek tip dönüşümlerinde fayda sağlamaktadır. is sadece tanımlı tipler üzerinde çalışır,i yani biz bir class tanımlayıp bunun tipi hakkında bilgi almak istiyorsak is bize bu konuda yardımcı olamaz. YANİ İS CONTROL EDER

int i = 50;
bool b = i is string; // b false olur
as operatörü : Uygun türler arasında tür dönüşümünü sağlar.Daha önce is sadece tanımlı tipler üzerinde çalıştığını. Yani biz bir class tanımladıysak ve bunun tipi hakkında bilgi almak istiyorsak is bize bu konuda yardımcı olamayacağını söylemiştik. Bu durumda devreye as anahtar kelimesi devreye girer. is operotoruyle çok benzerdi fakat is operatoru boolean bir değer döndürürken as operatoru hedef tipin referansını döndürür. Eğer dönüşüm imkansız ise null değeri döndürür. YANİ AS ATAMA YAPAR

object i = "50";
string s = i as string;
Share:

14 Mayıs 2013 Salı

Gridview kolon adı bilgisine ulaşmak

Gridview kolon adlarına ulaşmak için kod ;

Hardcoded approach:
string searchValue = "SpecifiedName";
// where 1 is the hardcoded cell index
var query = from GridViewRow row in GridView1.Rows
            where row.Cells[1].Text == searchValue
            select row;
GridViewRow result = query.FirstOrDefault();
Dynamic Approach (Column Index Lookup):
string colName = "name";
int index = (from DataControlField col in GridView1.Columns
            where col.HeaderText == colName
            select GridView1.Columns.IndexOf(col)).FirstOrDefault();

// index used
var query = from GridViewRow row in GridView1.Rows
        where row.Cells[index].Text == searchValue
        select row;
GridViewRow result = query.FirstOrDefault();
Alternate index lookup: instead of using HeaderText you can use BoundField.
int index = (from DataControlField col in GridView1.Columns
            where ((BoundField)col).DataField == colName
            select GridView1.Columns.IndexOf(col)).FirstOrDefault();

WinForm DataGridView

Kept this here just in case.
string name = "SpecifiedName";
var query = from DataGridViewRow row in dataGridView1.Rows
            where row.Cells["name"].Value.ToString() == name
            select row;
// the row will be returned by this or contain a default value if not found
DataGridViewRow result = query.FirstOrDefault();
Share:

10 Mayıs 2013 Cuma

Masterpage css link class erişimi




--------Masterpage code source---------

<li><a href="home.aspx" id="HomeLink" runat="server"><i class="home"></i> Home</a></li>
<li><a href="Calendar.aspx" id="CalendarLink" runat="server"><i class="calendar"></i>Calendar</a></li>
<li><a href="Bill.aspx" id="BillLink" runat="server"><i class="list"></i>Bills</a></li>



-------Masterpage code behind---------


protected void Page_Load(object sender, EventArgs e)
    {
        SetCurrentPage();
    }

    private void SetCurrentPage()
    {
        var pageName = GetPageName();

        switch (pageName)
        {
            case "home.aspx":
                HomeLink.Attributes["class"] = "current";
                break;
            case "Calendar.aspx":
                CalendarLink.Attributes["class"] = "current";
                break;
            case "Bill.aspx":
                BillLink.Attributes["class"] = "current";
                break;
        }
    }

    private string GetPageName()
    {
        return Request.Url.ToString().Split('/').Last();
    }

Share:

Blog Arşivi