SORU
3 Mart 2010, ÇARŞAMBA


Bir kullanarak içinde dönen herhangi bir yan etkisi() var deyim?

Bir yöntem değeri döndürülüyoriçindebir DataContext alır kullanarak bir cümle her zaman iş gibi görünüyorgüzelbu: gibi

public static Transaction GetMostRecentTransaction(int singleId)
{
    using (var db = new DataClasses1DataContext())
    {
        var transaction = (from t in db.Transactions
                              orderby t.WhenCreated descending
                              where t.Id == singleId
                              select t).SingleOrDefault();
        return transaction;
    }
}

Ama ben olmam gerekir diye düşünmüşümdürkapanış bir şeyönce işlem tanımlayarak kullanarak parantez, örneğin patlarımöncekullanma deyimi, değeri olsuniçindeparantez, ve daha sonra geri dönensonraparantez.

Ve daha iyi bir uygulama ya da herhangi bir şekilde tasarruf edilmesi kullanarak parantez dışında değişken tanımlama dönen istiyorsunuz?

CEVAP
3 Mart 2010, ÇARŞAMBA


Hayır, daha net bu şekilde olduğunu düşünüyorum. Merak etme, Dispose hala adı verilecek "çıkış yolu" - ve teksonradönüş değeri tam olarak değerlendirilir. Eğer herhangi bir noktada özel durum (dönüş değeri değerlendirmek dahil) atılır Dispose hala çok çağrılacaktır.

Kesinlikleolabiliruzun yoldan, sadece işe yaramayan öğeleri eklemek fazladan iki satır ve (zihinsel) izlemek için ekstra içerik. Aslında, gerçekten hata ayıklama açısından kullanışlı olabilir, ancak ekstra yerel değişken olman gerekmiyor. Sanaolabilirsadece:

public static Transaction GetMostRecentTransaction(int singleId)
{
    using (var db = new DataClasses1DataContext())
    {
        return (from t in db.Transactions
                orderby t.WhenCreated descending
                where t.Id == singleId
                select t).SingleOrDefault();
    }
}

Gerçekten de, hatta nokta işaretini kullanmak için cazip olabilir, ve SingleOrDefault içinde: Where koşul koymak

public static Transaction GetMostRecentTransaction(int singleId)
{
    using (var db = new DataClasses1DataContext())
    {
        return db.Transactions.OrderByDescending(t => t.WhenCreated)
                              .SingleOrDefault(t => t.Id == singleId);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • esnathesinger

    esnathesinge

    6 NİSAN 2009
  • VideoGamePervert

    VideoGamePer

    30 AĞUSTOS 2008