C# ASP.NET-静态变量&;状态机-一个用户会影响另一个用户吗?

C# ASP.NET-静态变量&;状态机-一个用户会影响另一个用户吗?,c#,asp.net,iterator,yield-return,C#,Asp.net,Iterator,Yield Return,我使用yield语句在C#中实现了一些功能,函数返回IEnumerable 我的问题是,如果这个函数是静态类中的静态函数,那么它是否作为一个状态机隐式地保存会影响多个用户的任何内容,或者迭代器是否保存与状态相关的所有内容?(静态成员是应用程序范围的。)不,它不是。创建的IEnumerable类型将不包含其他静态数据。它可以引用静态信息,但前提是您从迭代器中显式访问它 比如说 public static class Utils { public static IEnumerable<in

我使用
yield
语句在C#中实现了一些功能,函数返回IEnumerable


我的问题是,如果这个函数是静态类中的静态函数,那么它是否作为一个状态机隐式地保存会影响多个用户的任何内容,或者迭代器是否保存与状态相关的所有内容?(静态成员是应用程序范围的。)

不,它不是。创建的
IEnumerable
类型将不包含其他静态数据。它可以引用静态信息,但前提是您从迭代器中显式访问它

比如说

public static class Utils {
  public static IEnumerable<int> Range(int start, int count) {
    for (var i = start; i <= count; i++) {
      yield return i;
    }
  }
}
公共静态类Utils{
公共静态IEnumerable范围(int start,int count){

对于(var i=start;iNo),它不包含。创建的
IEnumerable
将属于不包含其他静态数据的类型。它可以引用静态信息,但前提是您从迭代器中显式访问它

比如说

public static class Utils {
  public static IEnumerable<int> Range(int start, int count) {
    for (var i = start; i <= count; i++) {
      yield return i;
    }
  }
}
公共静态类Utils{
公共静态IEnumerable范围(int start,int count){
对于(var i=开始;i