C# 如何使用用户输入的字符串来补充C中的对象#

C# 如何使用用户输入的字符串来补充C中的对象#,c#,instasharp,C#,Instasharp,所以我使用的是InstaSharper,我想让用户输入他们的目标用户名称,但是,它没有处理数据,只是什么都不做。这是我的密码: class Program { //username and pass #region Hidden #endregion private static UserSessionData user; private static IInstaApi api; static void Main(string[] ar

所以我使用的是InstaSharper,我想让用户输入他们的目标用户名称,但是,它没有处理数据,只是什么都不做。这是我的密码:

    class Program
{

    //username and pass
    #region Hidden
    #endregion
    private static UserSessionData user;
    private static IInstaApi api;
    static void Main(string[] args)
    {
        string inputUser;
        string inputPass;

        Console.WriteLine("Enter the username");
        inputUser = Console.ReadLine();
        Console.WriteLine("Enter your password:");
        inputPass = Console.ReadLine();

        user = new UserSessionData();
        user.UserName = inputUser;
        user.Password = inputPass;

        Login();
        Console.Read();
    }

    public static async void Login()
    {
        //login attempt

        api = InstaApiBuilder.CreateBuilder()
            .SetUser(user)
            .UseLogger(new DebugLogger(LogLevel.Exceptions))
            .Build();

        var loginRequest = await api.LoginAsync();
        if (loginRequest.Succeeded)
        {
            string targetUser;
            Console.WriteLine("Logged in!\n\t");
            Console.WriteLine("Now enter the target user");
            targetUser = Console.ReadLine();
            PullUserPosts(targetUser);
        }
        else
        {
            Console.WriteLine("Error logging in, are you sure you have entered the right credentials?");
        }

    }

    public static async void PullUserPosts(string userToScrape)
    {
        //instagram show followers demo
        var userinfo = await api.GetUserInfoByIdAsync(123456789);
        Console.WriteLine($"USER: {userinfo.Value.FullName}\n\tFollowers: {userinfo.Value.FollowerCount} \n \t Is it verified?\n\t {userinfo.Value.IsVerified}\n\t\n\t");

        Console.WriteLine("Loading all posts and captions by target user.. \n\t");

        IResult<InstaMediaList> media = await api.GetUserMediaAsync(userToScrape, PaginationParameters.MaxPagesToLoad(5));
        List<InstaMedia> mediaList = media.Value.ToList();

        for (int i = 0; i < mediaList.Count; i++)
        {
            InstaMedia m = mediaList[i];
            if (m != null && m.Caption != null)
            {
                string captionText = m.Caption.Text;
                if (captionText != null)
                {
                    if (m.MediaType == InstaMediaType.Image)
                    {
                        for (int x = 0; x < m.Images.Count; x++)
                        {
                            if (m.Images[x] != null && m.Images[x].URI != null)
                            {
                                Console.WriteLine($"\n\t{captionText}\n\t");
                                string uri = m.Images[x].URI;

                                Console.Write($"{uri}\n\t");
                            }
                        }
                    }
                }
            }
        }
类程序
{
//用户名和密码
#隐藏区域
#端区
私有静态用户sessiondata用户;
专用静态IInstaApi;
静态void Main(字符串[]参数)
{
字符串输入用户;
字符串输入通道;
Console.WriteLine(“输入用户名”);
inputUser=Console.ReadLine();
Console.WriteLine(“输入密码:”);
inputPass=Console.ReadLine();
user=newusersessiondata();
user.UserName=输入用户;
user.Password=inputPass;
登录();
Console.Read();
}
公共静态异步void登录()
{
//登录尝试
api=InstaApiBuilder.CreateBuilder()
.SetUser(用户)
.UseLogger(新的调试记录器(LogLevel.Exceptions))
.Build();
var loginRequest=wait api.LoginAsync();
如果(loginRequest.successed)
{
字符串目标用户;
Console.WriteLine(“已登录!\n\t”);
WriteLine(“现在输入目标用户”);
targetUser=Console.ReadLine();
PullUserPosts(targetUser);
}
其他的
{
WriteLine(“登录时出错,您确定输入了正确的凭据吗?”);
}
}
公共静态异步void PullUserPosts(字符串userToScrape)
{
//instagram展示粉丝演示
var userinfo=await api.GetUserInfoByIdAsync(123456789);
Console.WriteLine($“用户:{userinfo.Value.FullName}\n\t所有者:{userinfo.Value.FollowerCount}\n\t是否已验证?\n\t{userinfo.Value.IsVerified}\n\t\n\t”);
Console.WriteLine(“按目标用户加载所有帖子和标题..\n\t”);
IResult media=await api.GetUserMediaAsync(userToScrape,PaginationParameters.MaxPagesToLoad(5));
List mediaList=media.Value.ToList();
for(int i=0;i

它成功登录,但当我告诉用户“现在输入目标用户”时,什么也没发生。有人知道如何修复它吗?

如果你的代码无效,我会看到几个问题。首先,永远不要执行异步
void
,总是返回异步
Task
。其次,你不必在Main中等待你的登录方法。将Main返回从
void
更改为
Task
,并等待
登录
@Olegl谢谢r建议,尽管仍然无法解决问题(如我前面所说,它在用户输入时不做任何操作,只是在编译后自动关闭,在将其设置为调试模式时不做任何操作)。顺便说一下,无法从登录中删除Wait,将弹出一个错误“CS1061'Task'不包含'Successed'的定义,并且找不到接受'Task'类型的第一个参数的可访问扩展方法'Successed'(是否缺少using指令或程序集引用?)