Vero o falso: una stringa è la stessa cosa di una matrice.
Ho avuto un'intervista l'altro giorno e la domanda di cui sopra è stata fatta. Ho detto falso, ma l'intervistatore ha detto che in realtà era vero. Le ho spiegato che una stringa è un tipo di dati e un array è un oggetto che contiene più istanze di una variabile e che non sono nemmeno concetti simili. Ma era una persona delle risorse umane che stava solo leggendo domande tecniche che le erano state consegnate, quindi non poteva elaborare o riferirsi al mio punto.
Un collaboratore in seguito ha spiegato la vera risposta affermando che una stringa è in realtà una matrice di caratteri ... quindi, una stringa è una matrice. Ora, se una stringa è una matrice di caratteri, ciò non significa che gli array di documenti o gli array di numeri interi si qualificano come stringhe. Quindi, una stringa non è la stessa cosa di una matrice.
Ma anche così, (considerando C #) una stringa non è nemmeno un array di caratteri. Per poter manipolare i caratteri su una stringa (senza usare i metodi di concatenazione), devi convertire la stringa in un array di caratteri. Ora, se una stringa era sinonimo di matrice di caratteri, perché dovresti convertirla? Non saresti in grado di chiamare implicitamente ogni carattere nella stringa come faresti con un array di caratteri? No! Perché? Perché una stringa non è un array di caratteri!
L'ho paragonato a chiedere "Una chiave primaria è uguale a un identificatore univoco?" La risposta è falsa. Motivo: una chiave primaria è un identificatore univoco, ma puoi avere identificatori univoci in una tabella senza impostarli come chiavi. Che ne pensate? Una stringa (tipo di dati) è la stessa cosa di un array (tipo di oggetto)? Se sì, perché?