如何在c#中转换PHP函数

本文关键字:转换 PHP 函数 | 更新日期: 2023-09-27 18:14:40

我正在学习PhpC#的一些代码,我想知道如何在C#中转换这些代码?

$data = {
    //field name in the database, amount to be inserted
    'name'   => 'myName',
    'email'  => 'myEmail',
    'number' => 9999999999
};
function DBCreate($table, array $data, $ReturnId = false){
    //table prefix
    $table  = DB_PREFIX . '_' . $table;
    //clean sql injection
    $data   = DBEscape($data);
    //creates an array based on database fields
    $fields = implode(',', array_keys($data));
    $values = "'".implode("', '", $data)."'";
    //query sql
    $query = "INSERT INTO {$table} ( {$fields} ) VALUES ( {$values})";
    //call function that executes the query
    return DBExecute($query, $ReturnId);
}

此代码将数据插入到任何数据库表中,仅传递表名以及数组,该数组由对组成,其中key是数据库中的字段名,value是要插入数据库的值,最后一个参数是必要时恢复数据库中输入的ID的值。

或者哪些元素可以学习以便转换?

yet got it:

 void DBCreate(string table, Dictionary<string,string> Data) {
    var fields = string.Join(", ",Data.Keys.ToArray());
    var values = string.Join(", ",Data.Values.ToArray());
    string sql = "INSERT INTO " + table + " ( " + fields + " ) VALUES ( " + values + " )";
    print(sql);     
 }
使用:

 var myDictionary = new Dictionary<string, string>() { 
        {"Name", "MeuName"},
        {"Passowrd", "mypass"}
 };
    DBCreate("tabela", myDictionary);

这是Usuario类:

public string       Name = "";   
public string       Passowrd = "";
public DateTime     Date = Convert.ToDateTime("01/01/1991");
public string       Email = "";
public string       Username = "";
public int          Cash = 0;
public int          GP = 0;
public string       IdCell = "";

如何获得Usuario类中所有变量的名称,或者如何将其转换为列表?

我决定:

BindingFlags bindingFlags = BindingFlags.Public | 
BindingFlags.NonPublic | 
BindingFlags.Instance | 
BindingFlags.Static;
Usuario user = new Usuario();
user.setName("Something");
user.setEmail(123456789);
var newUser = new Dictionary<string, string>();
foreach (FieldInfo field in typeof(Usuario).GetFields(bindingFlags))
{
      print(field.Name + " Values => " + field.GetValue(user).ToString());
      newUser.Add(field.Name, field.GetValue(user).ToString());
}

谢谢大家!

如何在c#中转换PHP函数

您想保留PHP使用的有序映射作为数组吗?由于PHP使用有序关联数组,因此您可以使用。net中提供的有序字典或键值对列表。剩下的部分是转义值和构建字符串。您必须显式地定义返回类型。

似乎代码正在构建一个表名和一个具有多个值对的插入查询。我不做c#,但它应该很容易退出一些研究"插入sql c#"。这是我找到的第一个结果