Alttakinin üstteki gibi pratik bir kullanımı var mı ?

#csharp

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 10 / 11

#csharp #MySQL
Mysql sorgusunda field'i parametre olarak geçmek istiyorum ama nasıl yapacağımı bulamadım.
Delphide ParamByName ile paramete QueryParamByName ile filed'a parametre geçilebiliyordu.

örneğin tablomda a, b, c, fieldları var "select @fld from tabloadı" , şeklinde istediğim zaman istediğim field alanını listemek istiyorum.

BeğenFavori PaylaşYorum yap

#TeknoYardım #ASPNET #CSharp
ASP.NET C# ile kişisel ve amatör bir çalışma yapıyordum uzun süre ara verince geri dönüşte bir yerde tıkandım nasıl çözüm arayacağımıda bulamadım... (MVC değil bildiğimiz old scholl Web API)
Sorun şu ki;
Benim bir Method'dum ile dinamik web form elamanları oluşturdum PlaceHolder'ı içine Paneller onun içine de string bişeyler vs. vs.
Çalışma zamanı sırasında başka bir Method'dan bu runtime'da oluşturduğum Panel'lere erişmek istiyorum...
Panel'in ID değerleri olsun hangi PlaceHolder'ın içinde olduğu vs. hepsi tamam ancak nasıl bir kod ile çağıracağımı bilmiyorum...
Panel bir_panel = new Panel(); ile yeni nesneler oluşturup PlaceHolder'ın içine vs. koymakta sorun yok ama bu nesneleri nasıl geri çağıracağımı bilmiyorum... Web Form'a runtime dışında koyduğum nesneleri çağırmaktan farklı olduğu kesin kaçırdığım bişeyler var ama nedir bilemedim...
Bu konuda bana yol gösterebilecek arkadaşlara şimdiden teşekkür ederim...

BeğenFavori PaylaşYorum yap

.NET 5.0 sürümü yayınlandı

Geçtiğimiz sene düzenli olarak yazmaya çalıştığım Yazılım Gündemi yazılarını takip etmiş arkadaşlar .NET Framework ve .NET Core projelerinin artık tek bir isim altında ".NET 5.0" olarak devam edeceği haberini[1]​ hatırlayacaklardır. İşte o gün geldi. Bugün Microsoft, .NET 5.0 sürümünü yayınladı.

.NET SDK'sının bu sürümüyle birlikte C# 9 ve F# 5 sürümleri de hayatımıza girmiş bulunuyor. Visual Basic de SDK içerisinde mevcut fakat daha önceden de haberini yaptığım[2]​ gibi artık geliştirilmeye devam edilmediği için dil değişikliği içermiyor. Visual Basic Application Framework tarafında birkaç iyileştirilme yapılmış o kadar. Visual Studio kullanıcılarının .NET 5.0'ı kullanabilmesi için Visual Studio 16.8 ya da daha üstü bir sürüme ihtiyaçları var. Visual Studio Code kullanıcıları için ise C# eklentisi zaten hali hazırda C# 9'u destekliyormuş.

Ayrıca bir sonraki .NET sürümü 6.0 için de şimdiden tarih verilmiş: Kasım 2021. Bundan sonra her Kasım ayında yeni bir büyük .NET sürümü gelecek diye de not düşmüşler. .NET 5.0 sürümü, .NET 6.0 sürümü yayınlandıktan 3 ay sonrasına kadar (Şubat 2022) desteklenmeye devam edilecek.

.NET Core'dan alışık olan arkadaşlar yadırgamayacaklardır (zaten uzun zamandır kullandıkları için) fakat .NET Framework kullanıcıları için ilginç bir gelişme olarak .NET 5.0 sürümü Windows, MacOS ve Linux tabanlı işletim sistemlerininde ve x86, x64, Arm32 ve Arm64 mimarilerinde destekli şekilde geliyor. Desteklenen tüm işletim sistemi ve mimariler için şu sayfayı inceleyebilirsiniz.

Şimdi bu sürümle birlikte gelen birkaç gelişmeye göz atalım isterseniz. Özellik başlıklarını Türkçe'ye çevirince anlam kaybı olduğu için İngilizce şekilde kullanacağım.

Top-level programs

C# ve diğer dillerden alışık olduğumuz yapının aksine artık C# 9.0 ile birlikte Python ve diğer betik dillerindeki gibi şu şekilde kod yazabileceğiz:

using System;

var ad = "Eren";
var soyad = "Hatirnaz";
var suan = DateTime.Now;

Console.WriteLine($"Merhaba {ad} {soyad}!");
Console.WriteLine($"Guncel tarih-saat: {suan}");

Yani artık main fonksiyonu tanımlamaya gerek yok. Daha gelişmiş bir örnek için burayı inceleyebilirsiniz.

Records

Records için aslında yeni bir class türü diyebiliriz. Basit objeler tanımlamak için gerçekten ideal bir yapı sunuyor. Şöyle ki:

public record Kisi (string Ad, string Soyad, string Meslek, int Yas)

şeklinde tek bir satırda sınıfınızı tanımlayıp sonra da onu bu şekilde kullanabiliyorsunuz:

var eren = new Kisi {
    Ad = "Eren",
    Soyad = "Soyad",
    Meslek = "Back-End Developer",
    Yas = 25
};

Bu tarz basit tanımlamalar için oldukça sade bir kullanım sunuyor bence.

Logical and property patterns

Artık kontrol ifadelerimizi daha okuma diline yakın bir şekilde bu şekilde yazabileceğiz:

Console.WriteLine("Programdan cikmak istiyor musunuz? (e/H): ");
var kullanici_tercihi = Console.ReadKey();

if (kullanici_tercihi.KeyChar is 'E' or 'e')
{
    System.Environment.Exit(0);
}

Windows Forms designer güncellendi

Visual Studio 16.8 sürümüyle birlikte içerisindeki Windows Form tasarlayıcı aracı de güncellenmiş. Artık tüm Windows Forms ve Telerik komponentlerini destekliyormuş. Bu zaten yıllardır Visual Studio içerisinde olan bir özellik değil mi? Ben uzun zamandır Microsoft teknolojilerinden uzak kaldığım için (ben en son .NET yazarken dolar 1.7 falandı 😀 ) gelişmeleri o kadar net bilmiyorum. Neden bu yenilik olarak yazıya eklenmiş. Bilen arkadaşlar aydınlatsın beni lütfen.

Single file applications

İsminden de kolayca anlaşılabileceği gibi bu özellikle birlikte artık uygulamalarınızı tek bir çalıştırılabilir (executable) haline getirip, kullanıcılarınıza daha kolay bir şekilde ulaştırabileceksiniz. Bu özellik .NET Core 3.1 sürümüyle birlikte gelmişti fakat bu sürümle birlikte çalışma mantığıyla ilgili bazı değişiklikler yaparak çeşitli performans iyileştirmelerine gitmişler. İsmi bana son senelerde web tarafında çokça popülerleşen "Single Page Application" yaklaşımını hatırlattı 🙂

Oluşturabileceğiniz iki çeşit Single File Application var. Birisi framework'e bağımlı (kullanıcının bilgisayarında .NET 5.0 Runtime kurulu olmak zorunda) uygulama, diğeri de tamamen kendi başına çalışabilir uygulama. Tamamen kendi başına çalışabilen SFA içerisinde çalışması için gerekli araç setini ve tüm bağımlılıklarını içerdiği için boyutu büyük olacaktır. Yazdığınız bir programı SFA şeklinde paylaşmak için şu komutları kullanabiliyorsunuz:

  • Framework bağımlı: dotnet publish -r linux-x64 --self-contained false /p:PublishSingleFile=true
  • Tamamen kendi başına çalışan dotnet publish -r linux-x64 --self-contained true /p:PublishSingleFile=true

Son sözler ve ileri okuma önerileri

Yazılım Gündemi yazıları yazmayı bitirdikten uzun bir zaman sonra ilk defa oturup tekrar böyle bir yazı kaleme alabildim. Açıkcası özlemedim desem yalan olur ama maalesef artık yazılım gündemini eskisi kadar sık takip edemiyorum.

Her neyse fazla nostalji duygusuna girmeden bu yazıyı da burada noktalamış olayım. Elimden geldiği ölçüde yayınlanan blog yazısı üzerinden dikkatimi çeken ve anlayabildiğim özellik ve değişiklikleri sizlere aktarmaya çalıştım. Diğer özellikler ve değişiklikler için Microsoft'un blogunda yayınlanan detaylı yazıyı okumanızı şiddetle tavsiye ederim. Eğer yanlış değerlendirdiğim ya da doğru hatırlamadığım kısımlar varsa lütfen beni düzeltmekten kendinizi geri koymayın.

Microsoft'un bugün yayınladığı .NET 5.0 sürüm hakkında siz ne düşünüyorsunuz? Özellikle .NET teknolojilerinde aktif çalışan arkadaşların bu sürüm hakkında yorumlarını okumayı çok isterim. Aktif projelerinizi hemen geçirmezsiniz büyük ihtimal ama yeni projelerde bunu tercih eder misiniz? Artıları ve eksileri nelerdir? "Şu sorunuma derman olacak özellikler geldi" dediğiniz bir şey var mı? Tüm bu soruları -dilerseniz- aşağıdaki yorumlar bölümünde cevaplayabilirsiniz.

.NET kod örnekleri için buraya tıklayabilirsiniz.

İleri Okuma Önerileri

Etiketler: #YazılımGündemi #Programlama #YazılımGeliştirme #Microsoft #DotNet #DotNet5 #Linux #Arm #VisualStudio #VisualStudioCode #CSharp #FSharp

BeğenFavori PaylaşYorum yap

Can sikintisinda C# Winform ile yilan oyunu yapiyorum. Sonrasinda aynisini OpenGL ile yapacagim. OpenGL ile daha akla ve mantiga yatkin olacak. 😀

#CSharp #SoftwareDevelopment

BeğenFavori PaylaşYorum yap

şöyle bir şey yapmaya çalışıyorum;

bir klasördeki resimleri listeletip, yanda gösteriyorum, en sağda da ölçüleri geliyor.
alt kısımdaki textboxlar genişlik-yükseklik girip, yeni dosyayı kayıt etmek istiyorum.
seçtiğim dosyayı yeniden kayıt edebiliyorum ama resize olayını yapamadım 🙁

yardımcı olabilecek olan var mıdır?
#TeknoYardım #C #CSharp

BeğenFavori PaylaşYorum yap

bu nasıl olabiliyor lastindexof verdiğim indexten sonrasını bulmalı aslında #csharp

BeğenFavori PaylaşYorum yap

#Net #csharp Arkadaşlar merhaba. Visual Studio'da konsol üzerinden çalışan bir programım var. Bunu web servis haline getirmem gerekiyor. Yani tarayıcıdan localhost yazdığım zaman bu algoritmayı çalıştıracak. Sonuç döndürmesine gerek yok, çalışsa yeter. Bunu nasıl yapabilirim? Teşekkürler.

BeğenFavori PaylaşYorum yap

#programlama #Java #CSharp #mod

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 5 / 10