overlapping fire for gunshot sound

i am attempting to implement a gunshot sound to go alongside a gun firing and animation, the gunshot sound is slightly longer than the time it takes for me to fire the gun again; i am asking if and how it would be possible for me to use the sound multiple times without cutting off the first sound with the second.
code if it matters:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class pistolFire : MonoBehaviour
{
    public GameObject blackPistol;
    public bool isFiring = false;
    public GameObject muzzleFlash;
    public AudioSource pistolShot;

    void Update()
    {
        if(Input.GetButtonDown("Fire1"))
        {
            if (isFiring == false)
            {
                StartCoroutine(firePistol());
            }
        }
    }

    IEnumerator firePistol() {
         isFiring = true;
        blackPistol.GetComponent<Animator>().Play("firePistol");
        pistolShot.Play();
        muzzleFlash.SetActive(true);
        yield return new WaitForSeconds(0.015f);
        muzzleFlash.SetActive(false);
        yield return new WaitForSeconds(0.13f);
        blackPistol.GetComponent<Animator>().Play("New State");
        isFiring = false;

    }
}

PlayOneShot is most commonly used Unity - Scripting API: AudioSource.PlayOneShot
but it can produce clipping and i think i’ve heard it’s slightly inefficient.

you could try create a sound file with the overlap already applied - of course this isn’t ideal and i’m not sure it would work

if its only a small delay you could try using 2 audio sources instead of one with GetComponents Unity - Scripting API: GameObject.GetComponents and then overlap both of them with a delay

One cheap and cheesy way is to take that AudioSource and clone it a few times (at Start() time), then keep those extra copies in an array that you rotate through each shot.

This lets you also pitch the sound up and down slightly, or change the volume slightly so it doesn’t sound super-ear-fatigueing.

yo i’m like super new (i only know javascript) can you like tell me how to do this in C#?