There's definitely a performance hit for the second option - it would create a new array and initialize it on every method call.
If you're confident that you won't accidentally mutate the array, I'd go for the first option. If you want to make it clearer in your code that you're trying to create an effectively-immutable collection, you could use:
private static readonly IReadOnlyList<string> A = new string[] { "a" ,"b", "c" };
That won't actually make it immutable though - you'd have to be careful not to pass it to any other code that might cast it back to string[] and mutate it.
For true immutability, you could use Array.AsReadOnly:
private static readonly IReadOnlyList<string> A =
Array.AsReadOnly(new string[] { "a" ,"b", "c" });
Or of course you could use the immutable collections library.
(Note that operations via IReadOnlyList<string> will be somewhat slower than operating directly on the array; whether or not that's significant in your application will depend on what you're doing.)
IReadOnlyList<T>. As instatic readonly IReadOnlyList<string> a = new [] { "a", "b", "c" }.