StringWriter Sınıf

Tanım

Bir dizeye bilgi yazmak için bir TextWriter uygular. Bilgiler, temel alınan StringBuilderiçinde depolanır.

public ref class StringWriter : System::IO::TextWriter
public class StringWriter : System.IO.TextWriter
[System.Serializable]
public class StringWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StringWriter : System.IO.TextWriter
type StringWriter = class
    inherit TextWriter
[<System.Serializable>]
type StringWriter = class
    inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringWriter = class
    inherit TextWriter
Public Class StringWriter
Inherits TextWriter
Devralma
StringWriter
Devralma
Öznitelikler

Örnekler

Aşağıdaki kod örneğinde, çift aralıklı tümcelerden oluşan bir gruptan sürekli paragraf oluşturma ve ardından paragrafın özgün metne geri dönüştürülmesi gösterilmektedir.

using namespace System;
using namespace System::IO;
int main()
{
   String^ textReaderText = "TextReader is the abstract base "
   "class of StreamReader and StringReader, which read "
   "characters from streams and strings, respectively.\n\n"
   "Create an instance of TextReader to open a text file "
   "for reading a specified range of characters, or to "
   "create a reader based on an existing stream.\n\n"
   "You can also use an instance of TextReader to read "
   "text from a custom backing store using the same "
   "APIs you would use for a string or a stream.\n\n";
   Console::WriteLine(  "Original text:\n\n{0}", textReaderText );

   // From textReaderText, create a continuous paragraph 
   // with two spaces between each sentence.
      String^ aLine;
   String^ aParagraph;
   StringReader^ strReader = gcnew StringReader( textReaderText );
   while ( true )
   {
      aLine = strReader->ReadLine();
      if ( aLine != nullptr )
      {
         aParagraph = String::Concat( aParagraph, aLine,  " " );
      }
      else
      {
         aParagraph = String::Concat( aParagraph,  "\n" );
         break;
      }
   }

   Console::WriteLine(  "Modified text:\n\n{0}", aParagraph );
   
   // Re-create textReaderText from aParagraph.
   int intCharacter;
   Char convertedCharacter;
   StringWriter^ strWriter = gcnew StringWriter;
   strReader = gcnew StringReader( aParagraph );
   while ( true )
   {
      intCharacter = strReader->Read();
      
      // Check for the end of the string 
      // before converting to a character.
      if ( intCharacter == -1 )
            break;

      
      convertedCharacter = Convert::ToChar( intCharacter );
      if ( convertedCharacter == '.' )
      {
         strWriter->Write(  ".\n\n" );
         
         // Bypass the spaces between sentences.
         strReader->Read();
         strReader->Read();
      }
      else
      {
         strWriter->Write( convertedCharacter );
      }
   }

   Console::WriteLine(  "\nOriginal text:\n\n{0}", strWriter->ToString() );
}
using System;
using System.IO;

class StringRW
{
    static void Main()
    {
        string textReaderText = "TextReader is the abstract base " +
            "class of StreamReader and StringReader, which read " +
            "characters from streams and strings, respectively.\n\n" +

            "Create an instance of TextReader to open a text file " +
            "for reading a specified range of characters, or to " +
            "create a reader based on an existing stream.\n\n" +

            "You can also use an instance of TextReader to read " +
            "text from a custom backing store using the same " +
            "APIs you would use for a string or a stream.\n\n";

        Console.WriteLine("Original text:\n\n{0}", textReaderText);

        // From textReaderText, create a continuous paragraph
        // with two spaces between each sentence.
        string aLine, aParagraph = null;
        StringReader strReader = new StringReader(textReaderText);
        while(true)
        {
            aLine = strReader.ReadLine();
            if(aLine != null)
            {
                aParagraph = aParagraph + aLine + " ";
            }
            else
            {
                aParagraph = aParagraph + "\n";
                break;
            }
        }
        Console.WriteLine("Modified text:\n\n{0}", aParagraph);

        // Re-create textReaderText from aParagraph.
        int intCharacter;
        char convertedCharacter;
        StringWriter strWriter = new StringWriter();
        strReader = new StringReader(aParagraph);
        while(true)
        {
            intCharacter = strReader.Read();

            // Check for the end of the string
            // before converting to a character.
            if(intCharacter == -1) break;

            convertedCharacter = (char)intCharacter;
            if(convertedCharacter == '.')
            {
                strWriter.Write(".\n\n");

                // Bypass the spaces between sentences.
                strReader.Read();
                strReader.Read();
            }
            else
            {
                strWriter.Write(convertedCharacter);
            }
        }
        Console.WriteLine("\nOriginal text:\n\n{0}",
            strWriter.ToString());
    }
}
Option Explicit
Option Strict

Imports System.IO

Public Class StrReader

    Shared Sub Main()
    
        Dim textReaderText As String = "TextReader is the " & _
            "abstract base class of StreamReader and " & _
            "StringReader, which read characters from streams " & _
            "and strings, respectively." & _
            vbCrLf & vbCrLf & _
            "Create an instance of TextReader to open a text " & _
            "file for reading a specified range of characters, " & _
            "or to create a reader based on an existing stream." & _
            vbCrLf & vbCrLf & _
            "You can also use an instance of TextReader to read " & _
            "text from a custom backing store using the same " & _
            "APIs you would use for a string or a stream." & _
            vbCrLf & vbCrLf

        Console.WriteLine("Original text:" & vbCrLf & vbCrLf & _
            textReaderText)

        ' From textReaderText, create a continuous paragraph 
        ' with two spaces between each sentence.
        Dim aLine, aParagraph As String
        Dim strReader As New StringReader(textReaderText)
        While True
            aLine = strReader.ReadLine()
            If aLine Is Nothing Then
                aParagraph = aParagraph & vbCrLf
                Exit While
            Else
                aParagraph = aParagraph & aLine & " "
            End If
        End While
        Console.WriteLine("Modified text:" & vbCrLf & vbCrLf & _ 
            aParagraph)
    
        ' Re-create textReaderText from aParagraph.
        Dim intCharacter As Integer 
        Dim convertedCharacter As Char 
        Dim strWriter As New StringWriter()
        strReader = New StringReader(aParagraph)
        While True
            intCharacter = strReader.Read()

            ' Check for the end of the string 
            ' before converting to a character.
            If intCharacter = -1 Then
                Exit While
            End If

            convertedCharacter = Convert.ToChar(intCharacter)
            If convertedCharacter = "."C Then
                strWriter.Write("." & vbCrLf & vbCrLf)

                ' Bypass the spaces between sentences.
                strReader.Read()
                strReader.Read()
            Else
                strWriter.Write(convertedCharacter)
            End If
        End While
        Console.WriteLine(vbCrLf & "Original text:" & vbCrLf & _ 
            vbCrLf & strWriter.ToString())

    End Sub
End Class

Açıklamalar

StringWriter, bir dizeye zaman uyumlu veya zaman uyumsuz olarak yazmanızı sağlar. Write(String) veya WriteAsync(String) yöntemini kullanarak Write(Char) veya WriteAsync(Char) yöntemiyle aynı anda bir karakter yazabilirsiniz. Ayrıca, WriteLineAsync yöntemlerinden biriyle zaman uyumsuz olarak bir karakter, karakter dizisi veya dize yazabilirsiniz.

Not

Bu tür IDisposable arabirimini uygular, ancak aslında atılacak kaynağı yoktur. Bu, Dispose() doğrudan çağırarak veya using (C#'de) veya Using (Visual Basic'te) gibi bir dil yapısı kullanarak bunu yok etmenin gerekli olmadığı anlamına gelir.

Aşağıdaki tabloda diğer tipik veya ilgili G/Ç görevlerinin örnekleri listelenmiştir.

Bunu yapmak için... Bu konudaki örne bakın...
Bir metin dosyası oluşturun. Nasıl yapılır: Dosya Metin Yazma
Metin dosyasına yazın. Nasıl yapılır: Dosya Metin Yazma
Metin dosyasından okuma. Nasıl yapılır: Dosya Metin Okuma
Dosyaya metin ekleyin. Nasıl yapılır: Günlük Dosyası Açma ve Ekleme

File.AppendText

FileInfo.AppendText
Dosyanın boyutunu alma. FileInfo.Length
Bir dosyanın özniteliklerini alın. File.GetAttributes
Dosyanın özniteliklerini ayarlayın. File.SetAttributes
Bir dosyanın var olup olmadığını belirleyin. File.Exists
İkili dosyadan okuma. Nasıl yapılır: Yeni Oluşturulan Veri Dosyası Okuma ve Yazma
İkili bir dosyaya yazın. Nasıl yapılır: Yeni Oluşturulan Veri Dosyası Okuma ve Yazma

Oluşturucular

StringWriter()

StringWriter sınıfının yeni bir örneğini başlatır.

StringWriter(IFormatProvider)

Belirtilen biçim denetimiyle StringWriter sınıfının yeni bir örneğini başlatır.

StringWriter(StringBuilder)

belirtilen StringBuilderyazan StringWriter sınıfının yeni bir örneğini başlatır.

StringWriter(StringBuilder, IFormatProvider)

Belirtilen StringBuilder yazan ve belirtilen biçim sağlayıcısına sahip StringWriter sınıfının yeni bir örneğini başlatır.

Alanlar

CoreNewLine

Bu TextWriteriçin kullanılan yeni satır karakterlerini depolar.

(Devralındığı yer: TextWriter)

Özellikler

Encoding

Çıkışın yazıldığı Encoding alır.

FormatProvider

Biçimlendirmeyi denetleen bir nesne alır.

(Devralındığı yer: TextWriter)
NewLine

Geçerli TextWritertarafından kullanılan satır sonlandırıcı dizesini alır veya ayarlar.

(Devralındığı yer: TextWriter)

Yöntemler

Close()

Geçerli StringWriter ve temel alınan akışı kapatır.

Close()

Geçerli yazıcıyı kapatır ve yazıcıyla ilişkili tüm sistem kaynaklarını serbest bırakır.

(Devralındığı yer: TextWriter)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

TextWriter nesnesi tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: TextWriter)
Dispose(Boolean)

StringWriter tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

DisposeAsync()

TextWriter nesnesi tarafından kullanılan tüm kaynakları zaman uyumsuz olarak serbest bırakır.

(Devralındığı yer: TextWriter)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Flush()

Geçerli yazıcı için tüm arabellekleri temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: TextWriter)
FlushAsync()

Geçerli yazıcı için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

FlushAsync()

Geçerli yazıcı için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: TextWriter)
FlushAsync(CancellationToken)

Geçerli yazıcı için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: TextWriter)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetStringBuilder()

temel StringBuilderdöndürür.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ToString()

Şu ana kadar geçerli StringWriter yazılan karakterleri içeren bir dize döndürür.

Write(Boolean)

Bir Boolean değerinin metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(Char)

Dizeye bir karakter yazar.

Write(Char[])

Metin akışına bir karakter dizisi yazar.

(Devralındığı yer: TextWriter)
Write(Char[], Int32, Int32)

Dizeye karakterlerin alt dizisini yazar.

Write(Decimal)

Ondalık değerin metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(Double)

8 baytlık kayan nokta değerinin metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(Int32)

4 baytlık imzalı tamsayının metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(Int64)

8 baytlık imzalı tamsayının metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(Object)

Nesne üzerinde ToString yöntemini çağırarak bir nesnenin metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(ReadOnlySpan<Char>)

Geçerli dizeye bir karakter aralığının dize gösterimini yazar.

Write(ReadOnlySpan<Char>)

Metin akışına bir karakter aralığı yazar.

(Devralındığı yer: TextWriter)
Write(Single)

4 baytlık kayan nokta değerinin metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(String)

Geçerli dizeye bir dize yazar.

Write(String, Object)

Format(String, Object) yöntemiyle aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize yazar.

(Devralındığı yer: TextWriter)
Write(String, Object, Object)

Format(String, Object, Object) yöntemiyle aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize yazar.

(Devralındığı yer: TextWriter)
Write(String, Object, Object, Object)

Format(String, Object, Object, Object) yöntemiyle aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize yazar.

(Devralındığı yer: TextWriter)
Write(String, Object[])

Format(String, Object[]) yöntemiyle aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize yazar.

(Devralındığı yer: TextWriter)
Write(String, ReadOnlySpan<Object>)

Format(String, ReadOnlySpan<Object>)ile aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize yazar.

(Devralındığı yer: TextWriter)
Write(StringBuilder)

Geçerli dizeye bir dize oluşturucusunun dize gösterimini yazar.

Write(StringBuilder)

Metin akışına bir dize oluşturucu yazar.

(Devralındığı yer: TextWriter)
Write(UInt32)

4 baytlık işaretsiz tamsayının metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
Write(UInt64)

8 baytlık işaretsiz tamsayının metin gösterimini metin akışına yazar.

(Devralındığı yer: TextWriter)
WriteAsync(Char)

Dizeye zaman uyumsuz olarak bir karakter yazar.

WriteAsync(Char)

Metin akışına zaman uyumsuz olarak bir karakter yazar.

(Devralındığı yer: TextWriter)
WriteAsync(Char[])

Metin akışına zaman uyumsuz olarak bir karakter dizisi yazar.

(Devralındığı yer: TextWriter)
WriteAsync(Char[], Int32, Int32)

Dizeye zaman uyumsuz olarak karakterlerin alt dizisini yazar.

WriteAsync(Char[], Int32, Int32)

Metin akışına zaman uyumsuz olarak bir karakter alt dizisi yazar.

(Devralındığı yer: TextWriter)
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Zaman uyumsuz olarak dizeye karakterlerden oluşan bir bellek bölgesi yazar.

WriteAsync(ReadOnlyMemory<Char>, CancellationToken)

Metin akışına zaman uyumsuz olarak bir karakter bellek bölgesi yazar.

(Devralındığı yer: TextWriter)
WriteAsync(String)

Geçerli dizeye zaman uyumsuz olarak bir dize yazar.

WriteAsync(String)

Metin akışına zaman uyumsuz olarak bir dize yazar.

(Devralındığı yer: TextWriter)
WriteAsync(StringBuilder, CancellationToken)

Dize oluşturucusunun metin gösterimini zaman uyumsuz olarak dizeye yazar.

WriteAsync(StringBuilder, CancellationToken)

Zaman uyumsuz olarak metin akışına bir dize oluşturucu yazar.

(Devralındığı yer: TextWriter)
WriteLine()

Metin akışına bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Boolean)

Bir Boolean değerinin metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Char)

Metin akışına bir karakter ve ardından bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Char[])

Metin akışına bir karakter dizisi ve ardından bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Char[], Int32, Int32)

Metin akışına karakterlerin bir alt dizisini yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Decimal)

Bir ondalık değerin metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Double)

Metin akışına 8 baytlık kayan nokta değerinin metin gösterimini ve ardından bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Int32)

4 baytlık imzalı bir tamsayının metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Int64)

8 baytlık imzalı bir tamsayının metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Object)

Bir nesnenin metin gösterimini, bu nesnede ToString yöntemini çağırarak ve ardından bir satır sonlandırıcısı çağırarak metin akışına yazar.

(Devralındığı yer: TextWriter)
WriteLine(ReadOnlySpan<Char>)

Metin gösterimini dizeye bir karakter aralığı ve ardından bir satır sonlandırıcı yazar.

WriteLine(ReadOnlySpan<Char>)

Bir karakter aralığının metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(Single)

Metin akışına 4 baytlık kayan nokta değerinin metin gösterimini ve ardından bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLine(String)

Metin akışına bir dize ve ardından bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLine(String, Object)

Format(String, Object) yöntemiyle aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize ve yeni bir satır yazar.

(Devralındığı yer: TextWriter)
WriteLine(String, Object, Object)

Format(String, Object, Object) yöntemiyle aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize ve yeni bir satır yazar.

(Devralındığı yer: TextWriter)
WriteLine(String, Object, Object, Object)

Format(String, Object)ile aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize ve yeni bir satır yazar.

(Devralındığı yer: TextWriter)
WriteLine(String, Object[])

Format(String, Object)ile aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize ve yeni bir satır yazar.

(Devralındığı yer: TextWriter)
WriteLine(String, ReadOnlySpan<Object>)

Format(String, ReadOnlySpan<Object>)ile aynı semantiği kullanarak metin akışına biçimlendirilmiş bir dize ve yeni bir satır yazar.

(Devralındığı yer: TextWriter)
WriteLine(StringBuilder)

Dize oluşturucusunun metin gösterimini dizeye yazar ve ardından bir satır sonlandırıcısı yazar.

WriteLine(StringBuilder)

Bir dize oluşturucusunun metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(UInt32)

4 baytlık işaretsiz tamsayının metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLine(UInt64)

8 baytlık işaretsiz tamsayının metin gösterimini metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync()

Zaman uyumsuz olarak metin akışına bir satır sonlandırıcı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync(Char)

Zaman uyumsuz olarak dizeye bir karakter, ardından bir satır sonlandırıcı yazar.

WriteLineAsync(Char)

Zaman uyumsuz olarak metin akışına bir karakter yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync(Char[])

Zaman uyumsuz olarak metin akışına bir karakter dizisi yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync(Char[], Int32, Int32)

zaman uyumsuz olarak dizeye bir karakter alt dizisi yazar ve ardından bir satır sonlandırıcısı yazar.

WriteLineAsync(Char[], Int32, Int32)

Zaman uyumsuz olarak metin akışına bir karakter alt dizisi yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Karakterlerin bellek bölgesinin dize gösterimini geçerli dizeye zaman uyumsuz olarak yazar ve ardından bir satır sonlandırıcı yazar.

WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken)

Bir karakter bellek bölgesinin metin gösterimini zaman uyumsuz olarak metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync(String)

Geçerli dizeye zaman uyumsuz olarak bir dize yazar ve ardından bir satır sonlandırıcısı yazar.

WriteLineAsync(String)

Zaman uyumsuz olarak metin akışına bir dize yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)
WriteLineAsync(StringBuilder, CancellationToken)

Dize oluşturucusunun dize gösterimini geçerli dizeye zaman uyumsuz olarak yazar ve ardından bir satır sonlandırıcısı ekler.

WriteLineAsync(StringBuilder, CancellationToken)

Bir dize oluşturucusunun metin gösterimini zaman uyumsuz olarak metin akışına yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TextWriter)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu üyenin açıklaması için bkz. Dispose().

(Devralındığı yer: TextWriter)

Uzantı Metotları

ConfigureAwait(IAsyncDisposable, Boolean)

Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirileceğini yapılandırılır.

Şunlara uygulanır

Ayrıca bkz.