Add more types (Dictionary etc)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- csharp
- Área
- performance
Línea de trabajo
Parta de los ejemplos de HashSetEnumerator, ToRefLinq, IRefEnumerable e IReadOnlyCollection del issue. Determine qué tipos de colección adicionales, incluido Dictionary, necesitan adaptadores, y verifique el comportamiento de liberación del enumerador y las características de asignación de Unity. Se considera terminado cuando los tipos compatibles están definidos y sus adaptadores conservan el comportamiento previsto sin asignaciones.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Just tried this and seems to not allocate in Unity. Something more generic like IReadOnlyCollection can't be used as it allocates.
public static RefLinqEnumerable<T, HashSetEnumerator<T>> ToRefLinq<T>(this HashSet<T> c) => new(new(c));
public struct HashSetEnumerator<T> : IRefEnumerable<T>
{
private T curr;
private HashSet<T>.Enumerator ie;
public HashSetEnumerator(HashSet<T> list)
{
ie = list.GetEnumerator();
curr = default;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool MoveNext()
{
bool end = ie.MoveNext();
curr = ie.Current;
if(!end)
ie.Dispose();
return end;
}
public T Current => curr;
}
No idea if that Dispose is correct.
- Lenguaje dominante
- C#
- Estrellas
- 172
- Forks
- 8
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ASC-Community/HonkPerf.NET
-
Strong name of RefLinq issueAbiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
enhancement good first issue
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Todos los issues de ASC-Community/HonkPerf.NET
Issues similares
-
[i18n] 安装实例完成后的成功提示未正确本地化Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
PCL-Community/PCL-CE#3658 ·
Los mantenedores suelen responder en 1 día
-
Deploy & Patch-issues opprettes ikke: create-pnd-issues.yml har feilet hver uke siden 2025-09-08Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Altinn/altinn-auth#4359 ·
Los mantenedores suelen responder en 1 día
-
アプリ: チャット 優先: 中 提案
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
yksr-melt/Meltype#243 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Workflows: a workflow stored with null conditions is skipped with an exception instead of runAbiertobug core
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
type/automation type/tech-debt
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día