Enumerando através de propriedades de um objeto (string) em c #

Digamos que eu tenha muitos objetos e eles tenham muitas propriedades de string.

Existe uma maneira programática de passar por eles e gerar o nome da propriedade e seu valor ou ele tem que ser codificado?

Existe talvez uma maneira LINQ para consultar as propriedades de um objeto do tipo 'string' e para produzi-las?

Você tem que codificar os nomes das propriedades que deseja ecoar?

questionAnswers(5)

yourAnswerToTheQuestion