IRONSOFTWAREHOME
IRONXL KULLANARAK

IronXL ile C#'da CSV Dosyalarını Hızlıca Nasıl Okursunuz?

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

IronXL ile C#'de CSV Dosyalarını Hızla Nasıl Okursunuz?

C# ile CSV dosyalarını hızlı okumak, IronXL, bir .NET kütüphanesi ile kolaydır; sadece birkaç satır kodla virgülle ayrılmış verileri sorgulanabilir bir çalışma kitabına çevirir. Arayın WorkBook.LoadCSV, çalışma sayfanıza erişin ve satırları yinelemeye başlayın -- StreamReader gereksiz kodu, manuel ayırma mantığı ve Office kurulumu gerekliliği olmadan.

IronXL Nasıl Kurulur?

Herhangi bir CSV verisini yüklemeden önce projenize NuGet aracılığıyla IronXL ekleyin. Paket Yöneticisi Konsolu'nu veya proje dizininizde bir terminal açın ve şu komutlardan birini çalıştırın:

PM > Install-Package IronXL.Excel

Kurulumdan sonra, herhangi bir dosyanın en üstüne @--CODE-347--@@ ekleyin; burada CSV verilerini okumak veya yazmak istersiniz. IronXL, .NET 10 ve tüm modern .NET sürümlerini hedefler, bu nedenle ek bir çalışma zamanı yapılandırmasına gerek yoktur. Paket, gereken her şeyi içerir - ayrı yerel ikili dosyalar, platform SDK'ları ve yapılandırma dosyaları gerektirmez. Kurulumun başarılı olup olmadığını doğrulamak için proje dosyanızı <PackageReference Include="IronXL" .../> girdisi için kontrol edebilirsiniz.

Kütüphanenin CSV işlemeyi ötesinde neler yapabileceği hakkında hızlı bir bilgi için IronXL özellikleri sayfası ve NuGet paket listesine bakabilirsiniz.

Sistem Gereksinimleri Nelerdir?

IronXL, .NET 10, .NET 8, .NET 6, .NET Standard 2.0 ve .NET Framework 4.6.2+ üzerinde çalışır. Windows, Linux, macOS, Docker konteynerleri, Azure ve AWS Lambda desteklenir; ortamlarda kod değişiklikleri gerektirmez. Bu çapraz çalışma zamanı erişimi, Windows iş istasyonunda yazılmış bir CSV işleme rutinini bir Linux konteynerine değiştirmeden dağıtmayı sağlar.

IronXL Elden Yapılan CSV Ayrıştırmasıyla Nasıl Karşılaştırılır?

StreamReader ve string.Split ile elle CSV ayrıştırma, basit dosyalar için çalışır, ancak alanlar tırnak içinde virgüller, gömülü yeni satırlar veya UTF-8 olmayan kodlamalar içerdiğinde hızla dağılır. RFC 4180 standardı CSV dosyaları için alıntı ve kaçış kurallarını tanımlar; birçok el yapımı ayrıştırıcı bu kuralları atlar. IronXL, tam spesifikasyonu dahili olarak uygular, bu yüzden kenar durumlarıyla kendiniz ilgilenmenize gerek yoktur. Microsoft'un giriş çıkış belgesi, IronXL'in de soyutladığı yol işlemeyi kapsar.

C#'de CSV Dosyası Nasıl Yüklenir ve Okunur?

CSV verilerini okumaya giden en hızlı yol WorkBook.LoadCSV yöntemiyle başlar. Bu tek çağrı, dosya yüklemeyi, her satırı ayrıştırmayı ve veriye erişime hazır tam işlevsel bir çalışma kitabı nesnesi döndürmeyi tamamen ele alır --StreamReader elle oluşturup her satırı kendiniz işlemekte olduğunuzun aksine.

using IronXL;

// Load CSV file directly into a workbook
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv", fileFormat: ExcelFileFormat.XLSX);

// Access the default worksheet containing CSV data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read specific cell values using Excel-style addressing
string customerName = sheet["A2"].StringValue;
decimal orderTotal = sheet["D2"].DecimalValue;

// Iterate through all data rows
foreach (var row in sheet.Rows)
{
    Console.WriteLine($"Row {row.RowNumber}: {row.Columns[0].Value}");
}

LoadCSV yöntem ad bir dosya adı ve isteğe bağlı bir format belirtimi kabul eder, virgül ayırıcıyı otomatik olarak algılar ve her bir alan değerini karşılık gelen hücreye ayrıştırır. Ayrıştırıcı, varsayılan olarak ilk satırı başlık verisi olarak değerlendirir, bu yüzden sütun isimleri isimle hemen erişilebilir hale gelir.

Tipli Değer Erişimcileri Nasıl Çalışır?

DefaultWorkSheet özelliği, çalışma sayfası adları veya dizinleri hakkında bilgi gerektirmeden ayrıştırılmış verilere anında erişim sağlar. Buradan sonra, hücre değerleri tanıdık Excel tarzı adresleme (A2, B5) kullanılarak veya satır ve sütun yinelemesi ile alınır.

Türlenmiş değer erişimcileri -- StringValue, DecimalValue, IntValue, DateTimeValue -- hücre içeriklerini otomatik olarak uygun .NET türüne dönüştürür, ek ayrıştırma adımlarını kaydeder. Her kayıt, manuel tip dönüşümü gerektirmeden hemen kullanılır hale gelir, bu da veri alım boru hatlarındaki genel kodu önemli ölçüde azaltır. Tür belirsiz olduğunda, ham Value özelliğine erişebilir ve kendiniz cast edebilirsiniz.

Bu Yaklaşım Neden Geliştirme Süresini Hızlandırır?

Akış yönetimi yok, manuel satır başı ayırma işlemleri yok ve tanımlamak için yapılandırma sınıfları yok. Yazmanız gerekmez var reader = new StreamReader(path) veya elle string line değişkenlerini ele almanız gerekmez. Çalışma kitabı nesnesi, doğal olarak nasıl çalıştıklarını yansıtan ve yaygın veri aktarma görevlerinde geliştirme süresini saatlerden dakikalara indiren sezgisel bir API sunarken tüm dahili karmaşıklığı yönetir.

Farklı CSV Ayraçları Nasıl Yönetilir?

Gerçek dünya CSV dosyaları nadiren tek bir standardı takip eder. Avrupa sistemleri genellikle virgüllerin ondalık ayırıcı olarak hizmet ettiği için noktalı virgüller kullanır, bilimsel ve eski uygulamalarda ise tab ile ayrılmış değerler (TSV) yaygındır. IronXL, listDelimiter parametresi aracılığıyla bu varyasyonları ele alır, herhangi bir karakter veya dizgiyi ayırıcı olarak destekler.

using IronXL;

// Load semicolon-delimited CSV (common in European formats)
WorkBook europeanData = WorkBook.LoadCSV("german_report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ";");

// Load tab-separated values file
WorkBook tsvData = WorkBook.LoadCSV("research_data.tsv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: "\t");

// Load pipe-delimited file (common in legacy systems)
WorkBook pipeData = WorkBook.LoadCSV("legacy_export.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: "|");

// Access data identically regardless of original delimiter
WorkSheet sheet = europeanData.DefaultWorkSheet;
Console.WriteLine($"First value: {sheet["A1"].Value}");

listDelimiter parametresi herhangi bir dize değeri kabul eder, neredeyse her türlü ayırıcı karakter veya sıra için esneklik sağlar. Yüklendikten sonra veri, özgün dosya formatına bakılmaksızın aynı API aracılığıyla erişilebilir olur ve çeşitli veri kaynakları arasında tutarlı bir geliştirme deneyimi yaratır.

IronXL Hangi Kenar Durumları Ele Alır?

WorkBook.LoadCSV metodu, ayraç karakterini içeren çift tırnaklı alan değerleri gibi sınır durumlarını ele alır ve bu sayede, CSV verileri bireysel alan değerlerinde virgül veya noktalı virgül içerse bile doğru ayrıştırmayı sağlar. Kaçış karakteri yönetimi, birden çok satır içeren veya özel karakterler içeren alanları doğru bir şekilde yönetmek için RFC 4180 standartlarını takip eder. Satır sonu varyasyonları (Windows CRLF'ye karşı Unix LF) otomatik olarak algılanır ve yönetilir.

Kodlama varyasyonları içeren dosyalar için IronXL, UTF-8 ve UTF-16 gibi yaygın kodlamaları otomatik olarak algılar. Standart olmayan kod sayfalarını kullanan eski dosyaları yüklerken belirli bir kodlamayı açıkça belirtebilirsiniz. Bu esneklik, verilerin farklı ihracat geleneklerine sahip birden fazla sistemden geldiği kurumsal ortamlarda değerli olur -- tek bir kod tabanı, Alman ERP sistemlerinden gelen dosyaları (noktalı virgülle ayrılmış), Amerikan CRM ihracatlarını (virgülle ayrılmış) ve Unix tabanlı analiz araçlarını (sekme ile ayrılmış) çekirdek işleme mantığında değişiklik yapmadan işleyebilir.

CSV Verilerini Bir DataTable'a Nasıl Dönüştürürsünüz?

Veritabanı işlemleri genellikle yığın eklemeler, LINQ sorguları veya veri bilinçli kontrolyerleri bağlamak için CSV verilerini DataTable biçiminde gerektirir. İçindekiler sayfası verilerini doğrudan tek bir çağrıyla bir System.Data.DataTable nesnesine dönüştüren ToDataTable yöntemi sayesinde, manuel olarak bir liste veya dizi yapısı oluşturmanıza gerek kalmaz.

using IronXL;
using System.Data;

// Load CSV and convert to DataTable
WorkBook workbook = WorkBook.LoadCSV("customers.csv", ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.DefaultWorkSheet;

// Convert worksheet to DataTable (first row becomes column headers)
DataTable customerTable = sheet.ToDataTable(true);

// Access data using standard DataTable operations
foreach (DataRow row in customerTable.Rows)
{
    Console.WriteLine($"Customer: {row["Name"]}, Email: {row["Email"]}");
}

// Use with LINQ for filtering and transformation
var activeCustomers = customerTable.AsEnumerable()
    .Where(r => r.Field<string>("Status") == "Active")
    .ToList();

int totalCount = customerTable.Rows.Count;
Console.WriteLine($"Processed {totalCount} customer records");

ToDataTable metodu, çalışma sayfası sütunlarını otomatik olarak DataTable sütunlarına eşler. useFirstRowAsColumnHeaders true olarak ayarlandığında, ilk satırdaki değerler sütun adları haline gelir ve böylece alanlara ad yerine dizinle erişim sağlanır. DataTable, yüksek performanslı SQL Server eklemeleri için doğrudan SqlBulkCopy ile entegre olur veya anında görselleştirme için DataGridView kontrollerine bağlanabilir.

Dönüşüm, mümkün olduğunda veri türlerini korur ve IronXL, sayısal, tarih ve metin türlerini altta yatan hücre değerlerinden çıkarır. Bu otomatik tür çıkarımı, ham CSV dizeleriyle çalışırken tipik olarak gerekli olan manuel ayrıştırmayı azaltır. Tanıdık DataTable API'si sayesinde, mevcut veritabanı sorgu sonuçlarını işleyen kod, değişiklik yapmadan CSV verilerini işleyebilir -- bu da göç projeleri sırasında önemli bir zaman tasarrufu sağlar.

CSV Dosyalarını Excel Biçimına Nasıl Dönüştürürsünüz?

IronXL'ın temel yeteneklerinden biri, CSV ve Excel dosyaları arasındaki format dönüştürmedir. CSV verileri, biçimlendirme, formüller ve birden çok çalışma sayfası ile zenginleştirilebilir, ardından doğru bir Excel çalışma kitabı olarak kaydedilebilir -- hepsi aynı kod tabanı içinde. hücre stil seçenekleri ve formül düzenleme konusunda daha derin bir görüş için, IronXL belgeleri her özelliği ayrıntılı olarak kapsar.

using IronXL;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly_sales.csv", ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.DefaultWorkSheet;

// Add formatting to make the data presentable
sheet["A1:D1"].Style.Font.Bold = true;
sheet["A1:D1"].Style.SetBackgroundColor("#4472C4");

// Add a formula to calculate totals
sheet["E2"].Formula = "=SUM(B2:D2)";

// Save as Excel format
workbook.SaveAs("quarterly_sales_formatted.xlsx");

// Or save back to CSV when needed
workbook.SaveAsCsv("quarterly_sales_processed.csv");

SaveAs metodu, dosya uzantısından çıkan format belirler ve XLSX, XLS, CSV, TSV, JSON ve XML dışa aktarımlarını destekler. Bu esneklik, tek bir ithalat sürecinin, bir yönetim raporu için Excel raporunu ve aşağı akış sistem ürünü için CSV özetini besleyebilmesini sağlar. arka plan ve desen renk kılavuzu, mevcut bulunan tüm stil seçeneklerini gösterir.

Yüklendikten Sonra Hangi Stil Seçenekleri Mevcuttur?

Yüklendikten sonra erişilebilen stil özellikleri, font formatlama, hücre arka planları, kenarlıklar, sayı formatları ve hizalama ayarlarını kapsar; Excel çıktısı hedeflendiğinde nihai sunum üzerinde tam kontrol sağlar. CSV dosyalarını yeniden yazmak, formatlamayı temiz veri alışverişi için kaldırırken veri bütünlüğünü sağlar. Bu iki yönlü iş akışı, yalnızca tek yönü ele alan kütüphanelerden IronXL'ı ayırır.

Aşağıdaki tablo, desteklenen çıktı formatlarını ve bunların tipik kullanım alanlarını özetlemektedir:

IronXL CSV Yükleme Sonrası Desteklenen Çıktı Biçimları
BiçimDosya UzantısıTipik Kullanım Casesi
Excel (modern).xlsxRaporlar, kontrol panelleri, son kullanıcılar için formatlanmış çıktı
Excel (geçmiş).xlsEski Office kurulumları ile uyumluluk
CSV.csvVeri alışverişi, aşağı akış sistem beslemesi
TSV.tsvBilimsel araçlar, Unix tabanlı boru hatları
JSON.jsonREST API'leri, NoSQL veritabanı ithalatı
XML.xmlSOAP entegrasyonları, eski kurumsal sistemler

Büyük CSV Dosyaları Nasıl Verimli İşlenir?

Yüz binlerce satır içeren CSV dosyalarını işlemek, dikkatli bellek yönetimi gerektirir. IronXL, büyük veri setlerini yönetirken basit bir API bakımını sürdüren pratik yaklaşımlar sunar. Önerilen desen, verileri toplu olarak işlemek, tüm kayıtları aynı anda yükleyip dönüştürmek yerine, aktif bellek kullanımını kontrol altında tutar.

using IronXL;

// Load large CSV file
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.DefaultWorkSheet;

// Process data in manageable chunks using range selection
int batchSize = 10000;
int totalRows = sheet.RowCount;

for (int i = 1; i <= totalRows; i += batchSize)
{
    int endRow = Math.Min(i + batchSize - 1, totalRows);

    // Select a range of rows for processing
    var batch = sheet[$"A{i}:Z{endRow}"];
    foreach (var cell in batch)
    {
        ProcessRecord(cell.Value);
    }

    // Release memory between batches for very large files
    GC.Collect();
}

// Alternative: Process row by row for maximum control
for (int i = 0; i < sheet.RowCount; i++)
{
    var row = sheet.Rows[i];
    // Process individual row data
}

Bu toplu işleme modeli, büyük dosyaların sistematik olarak ele alınmasını sağlar, her bir kaydı aynı anda işlemeye çalışmaz. Aralık seçme söz dizimi ($"A{i}:Z{endRow}"), belirli satır aralıklarına etkin erişim sağlar.

Büyük Dosya İşlemedeki Pratik Sınırlar Nelerdir?

IronXL'nin çalışma kitabı yapısı, rastgele erişim için tüm dosyayı bellekte tutar. 100,000 ila 500,000 satıra kadar olan dosyalar, genellikle standart geliştirme makinelerinde zorluk yaşamadan işlenir; daha büyük veri setleri ise toplu işleme veya genişletilmiş belleğe sahip sistemlerden yararlanır. Bellek kullanımı, dosya boyutuna göre ölçeklenir, böylece önceden satır saymak kaynak gereksinimlerini tahmin etmeye yardımcı olur.

Çok gigabaytlık dosyaların garantili bellek sınırları veya akış işleme gerektiren senaryolar için, gereksinim ve optimize stratejilerini görüşmek üzere Iron Software'in mühendislik ekibiyle iletişime geçin. hata ayıklama belgesi, yaygın büyük dosya sorunları ve bunların çözümleri hakkında yönergeler sağlar.

Aşağıdaki tablo, farklı dosya boyutlarındaki beklenen performans özelliklerini hızlı bir referans sağlar:

IronXL Büyük CSV Dosya İşleme Kılavuzları
Satır SayısıÖnerilen YaklaşımTipik RAM Kullanımı
50,000'e kadarHepsini birden yükleyin, sırayla işleyin100 MB altında
50,000 - 200,000GC.Collect ile toplu işleme partileri arasında100 -- 400 MB
200,000 - 500,000Toplu işleme, 10,000 satırlık parça400 MB -- 1 GB
500,000 üzeriAkış rehberliği için Iron Software ile iletişime geçinŞemaya göre değişir

CSV İşlemeyi Nasıl Platformlar Arası Çalıştırırsınız?

Modern .NET geliştirme, birçok dağıtım ortamını kapsar -- Windows sunucuları, Linux konteynerleri, macOS geliştirme makineleri ve bulut platformları. IronXL, tüm bu ortamlarda platforma özgü kod yolları veya koşullu derleme olmadan tutarlılıkla çalışır.

using IronXL;

// This code runs identically on Windows, Linux, macOS, Docker, Azure, and AWS
WorkBook workbook = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.DefaultWorkSheet;

// Platform-agnostic file operations
string outputPath = Path.Combine(Environment.CurrentDirectory, "output.xlsx");
workbook.SaveAs(outputPath);

Console.WriteLine($"Processed on: {Environment.OSVersion.Platform}");
Console.WriteLine($"Output saved to: {outputPath}");

bool success = File.Exists(outputPath);

Aynı ikili paket, işletim sistemleri ve dağıtım modelleri arasında çalışır. Aşağıdaki tablo, desteklenen platformları özetler:

IronXL Platform ve Çalışma Zamanı Desteği
PlatformDestek SeviyesiAçıklamalar
Windows 10 / 11 / Server 2016+TamTüm özellikler mevcut
Linux (Ubuntu, Debian, Alpine)TamOfis bağımlılığı gerekmez
macOS (Intel ve Apple Silicon)TamYerel ARM64 desteği
Docker (Windows ve Linux konteynerleri)TamHer iki konteyner türünde çalışır
Azure (Uygulama Hizmeti, İşlevler, VM'ler)TamSunucusuz iş yükleri için uygundur
AWS (EC2, Lambda)TamLambda dağıtımı ile uyumlu

Bu çapraz platform özelliği, kodun geliştirmeden staging'e ve üretime geçirilmesi sırasında 'benim makinemde çalışıyor' problemlerini ortadan kaldırır. Windows iş istasyonunda geliştirilmiş bir CSV işleme rutin, Linux Docker konteynerine modifikasyona gerek olmadan dağıtılır. Dağıtımlar için yapılandırma rehberliği için, her platform için yayın stratejilerini kapsayan Microsoft .NET dağıtım belgelerine bakın.

Çapraz Platform Davranışı Nasıl Doğrulanır?

Çapraz platform davranışını doğrulamanın en güvenilir yolu, üretim dağıtımından önce CSV işleme mantığınızı bir Docker konteynerinde çalıştırmaktır. mcr.microsoft.com/dotnet/runtime:10.0 tabanlı minimal bir Dockerfile, IronXL'nin Linux üzerinde dosyaları yükleyip doğru işlediğini doğrulamak için yeterlidir. .NET konteynerleri hakkında Docker belgesi, bu yaklaşım için adım adım bir rehber sağlar. dotnet publish --self-contained bayrağıyla çalıştırılması, çalıştırma ortamı içeren bir dağıtım paketi oluşturur; bu da ana makinenin .NET sürümüne bağımlılığı ortadan kaldırır.

Ek çapraz platform CSV okuma teknikleri ve daha karmaşık senaryolarda CSV dosyalarını nasıl okuyacağınızı öğrenmek için, IronXL detaylı kılavuzlar sunan bilgiler sağlar. Tüm WorkBook yöntemleri ve aşırı yüklemeleri konusunda tam bir liste için IronXL API referansına da göz atabilirsiniz.

Sonraki Adımlarınız Neler?

C#'ta CSV dosyalarını okumak, performans için kod netliğinden ödün vermeyi veya karmaşık yapılandırmalarla başa çıkmayı gerektirmez. IronXL, ayrıştırma, tip dönüştürme ve veri erişimini otomatik olarak yöneten tutarlı bir API sağlayarak, basit virgülle ayrılmış dışarı aktarımlardan ve Avrupa noktalı virgülle ayrılmış formatlar ve sekme ile ayrılmış bilimsel veriler de dahil olmak üzere gerçek dünya CSV çeşitliliğinin tamamını destekler.

IronXL'ı bir üretim ortamında başlatmak için, öncelikli destek, bir yıl boyunca güncellemeler ve telif ücretsiz dağıtımı içeren tüm özellikleri açmak için IronXL lisansı satın alın. Fiyatlandırma katmanları, bireysel geliştiriciler, küçük ekipler ve kurumsal projeler için mevcuttur.

IronXL'ı taahhüt öncesi değerlendirmek isterseniz, değerlendirme süresi boyunca filigran veya satır sınırı olmadan tüm özellikleri test etmenizi sağlayan ücretsiz deneme lisansı sunar. IronXL eğitim kitaplığı, yaygın CSV ve Excel senaryolarını kapsayan kılavuzlu örnekler sunar.

Şifreli CSV dosyalarını işleme, standart dışı kodlamalarla başa çıkma veya bulut depolama sağlayıcılarıyla entegrasyon gibi belirli kullanım senaryoları hakkında sorular için, Iron Software destek ekibi ve topluluk forumları yardım için mevcuttur. Ek .NET veri işleme kaynakları Microsoft Learn verilerin giriş/çıkış desenleri hakkında IronXL yanında iyi çalışan ayrıntılı içerikler sağlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez