When you say "country code" I assume you mean the two-letter code as in ISO 3166. Then you can use the RegionInfo constructor to check if your string is a correct code.
string countryCode = "de";
try {
RegionInfo info = new RegionInfo(countryCode);
}
catch (ArgumentException argEx)
{
// The code was not a valid country code
}
You could also, as you state in your question, check if it is a valid country code for the german language. Then you just pass in a specific culture name together with the country code.
string language = "de";
string countryCode = "de";
try {
RegionInfo info = new RegionInfo(string.Format("{0}-{1}", language, countryCode));
}
catch (ArgumentException argEx)
{
// The code was not a valid country code for the specified language
}