Question: ```
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join("", names.ToArray());

```

I would like to Join only 1 specific character from each string. Let's say, the 3rd one. Without loop if possible.

```
// result = "hnn"

```

Answer: 
Hello probably you want something like this:

```
List<string> names = new List<string>() { "John", "Anna", "Monica" };
const int specificCharacter = 2;

    var result = names.Where(name => specificCharacter < name.Length)
                      .Aggregate(string.Empty, (current, name) => current + name[specificCharacter]);

```

`where` is for you do not get a System.IndexOutOfRangeException
And `Aggregate` to "join" the string. Here is the link with more information about it.
<https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable.aggregate?view=net-6.0>
You can do this with LINQ:

```
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join
    (
        "",
        from x in names
        select x[2]
    );

```