Q:

C#: What technic is that code?

I would like to know: 

What technic is that code?         
Can you rewrite that code to make it more readable,  because I do
not completely understand its meaning.
Paragraph para = CaretPosition.Paragraph;

var matchedRun = para.Inlines.FirstOrDefault(inline =>
{
   Run run = inline as Run;
   return (run != null && run.Text.EndsWith(inputText));
}) as Run;

if (matchedRun != null)
{

}

A:

I'd say a more readable version would be:
var matchedRun = para.Inlines
    .OfType<Run>()
    .FirstOrDefault(r => r.Text.EndsWith(intputText));

OfType filters the input sequence on the given type (Run) and FirstOrDefault finds the first Run instance whose Text property ends with the given input (or null if none was found).

A:

It's Linq. Do you know the "var" keyword? It's a type that the compiler knows but the programmer doesn't want to write.
The re-written code without using Linq is
Paragraph para = CaretPosition.Paragraph;

Run matchedRun = null;
foreach (var inl in para.Inlines)
{
   Run run = inl as Run;
   if( (run != null) && run.Text.EndsWith(inputText))
   {
     matchedRun = run;
     break;
   }  
}

if (matchedRun != null)
{

}

Note that I converted "inline" to "inl". It's not a keyword in C# but Stackoverflow makes it look like one.
Also note that it's even LESS readable once you get accustomed to Linq!

