Kann ich ein [ThreadStatic]-Feld mit einer statischen lokalen Funktion verwenden, um das Erstellen von Abschlüssen in LIC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Kann ich ein [ThreadStatic]-Feld mit einer statischen lokalen Funktion verwenden, um das Erstellen von Abschlüssen in LI

Post by Anonymous »

Sagen wir, ich habe diese Methode. Assume Items ist ein Array von Zeichenfolgen:

Code: Select all

public int GetCount(char c)
{
return Items.Count(x => x.Contains(c));
}
Ich weiß, dass C# bei jedem Aufruf der Methode einen Abschluss für Count(x => x.Contains(c)) erstellt, da die lokale Variable c erfasst wird.
Ich war jedoch neugierig, ob ein [ThreadStatic]-Feld und eine statische lokale Funktion verwendet werden könnten, um die Erstellung eines Abschlusses geschickt zu vermeiden:

Code: Select all

[ThreadStatic]
private static char _c;

public int GetCount(char c)
{
_c = c;

return Items.Count(func);

static bool func(string x) => x.Contains(_c);
}
Würde das die Erstellung eines Abschlusses stoppen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post